我正在使用一个包含大约 300 万个观测值的非常大的数据集,如果它们满足特定要求,我想通过并基本上结合某些观测值。我在下面编写了一个 for 循环来执行此操作,但效率非常低。有没有更有效的方法,比如应用函数或其他东西,可以改善这一点?
nobs <- nrow(acsdata)
for (i in 2:nobs){
if (acsdata[i,6]==1 & acsdata[(i-1),6]==1) acsdata[(i-1),3]=2
if (acsdata[i,6]==1 & acsdata[(i-1),6]==1) acsdata[(i-1),21:30]=acsdata[(i-1),21:30]+acsdata[i,21:30]
if (acsdata[i,6]==1 & acsdata[(i-1),6]==1) acsdata[(i),31]=1
}
任何帮助将不胜感激。谢谢!