加速R中的循環(huán)運算我在R中有一個很大的性能問題,我編寫了一個函數(shù),在data.frame對象。它只是將一個新列添加到data.frame積累一些東西。(簡單操作)。這個data.frame大約有850 K行。我的電腦還在工作(現(xiàn)在大約10小時),我對運行時一無所知。dayloop2 <- function(temp){
for (i in 1:nrow(temp)){
temp[i,10] <- i if (i > 1) {
if ((temp[i,6] == temp[i-1,6]) & (temp[i,3] == temp[i-1,3])) {
temp[i,10] <- temp[i,9] + temp[i-1,10]
} else {
temp[i,10] <- temp[i,9]
}
} else {
temp[i,10] <- temp[i,9]
}
}
names(temp)[names(temp) == "V10"] <- "Kumm."
return(temp)}有什么辦法加快這個行動嗎?
3 回答

哈士奇WWW
TA貢獻1799條經(jīng)驗 獲得超6個贊
for
system.time({ a <- NULL for(i in 1:1e5)a[i] <- i}) user system elapsed 28.36 0.07 28.61
system.time({ a <- rep(1, 1e5) for(i in 1:1e5)a[i] <- i}) user system elapsed 0.30 0.00 0.29
:
system.time(a <- 1:1e5) user system elapsed 0 0 0
- 3 回答
- 0 關注
- 1070 瀏覽
添加回答
舉報
0/150
提交
取消