【发布时间】:2012-12-19 21:48:19
【问题描述】:
我正在使用一个包含大约 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
}
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您的数据正在请求列名。
标签: r loops for-loop vectorization