【发布时间】:2016-03-24 00:35:04
【问题描述】:
我确信之前已经发布过类似的问题,但没有一个答案我无法找到特定于我的查询的答案。
我有以下代码检查第 2 列中的每一行的值“STRT”,如果找不到该值,它会从上面的行复制第 3 列中的值。目前,由于我有一个包含超过 300,000 行的数据集,因此此过程需要 1 多个小时才能运行。
for (i in 1:nrow(RTable)) {
if (RTable[i,2] != "STRT") {
RTable[i,3] <- RTable[i-1,3]
}
}
理想情况下,我希望有一个看起来像这样的解决方案
ifelse(RTable$col2 != "STRT", RTable$col3[当前行] = RTable$col3[当前行-1]
任何帮助将不胜感激。提前感谢您的帮助!!!
【问题讨论】:
-
dput(RTable)作为您的问题和发布代码的一部分,我们可以运行而无需猜测问题是什么。非常感谢!
标签: r for-loop optimization