【发布时间】:2023-04-06 22:22:01
【问题描述】:
我正在尝试找到一种更有效的方法来增量计算数据框中的唯一数据点。
例如,我写了以下代码:
df = matrix(c(1,2,3,3,4,5,1,2,4,4))
count = matrix(nrow = nrow(df),ncol=1)
for (i in 1:nrow(df)) {
count[i,1] = length(which(df[1:i,1] == df[i,1]))
}
代码的目的是递增地计算特定值的每个实例,例如count 列将具有以下结果:
1,1,1,2,1,1,2,2,2,3.
到目前为止我编写的代码可以完成这项工作,但是上面的示例 df 仅包含 10 个值。我尝试执行此功能的真实数据帧包含52,118 values,这需要大量时间。
有谁知道执行上述代码的更有效方法?
【问题讨论】: