0
我有一個循環,但我嘗試在函數中使用它時不起作用。 的下面示出了數據幀DF循環添加額外的列工作,但不是在函數中時
MSU
1 12
2 11
3 6
4 5
5 6
6 6
環路之前和環
後
for (i in 1:nrow(DF))
{
if(i<4) { DF[ i, 2 ] <- 0} else
{
DF[ i, 2 ] <- ((DF[1,1] + DF[i-1,1] + DF[i-2,1] + DF[i-3,1])/4)
}
}
DF循環後,一個額外的列已被添加與平均值的最後四個值中的除非值的數量少於四個。
MSU V2
1 12 0.00
2 11 0.00
3 6 0.00
4 5 10.25
5 6 8.50
6 6 7.25
功能的環路
myfct <- function(DF){
for (i in 1:nrow(DF))
{
if(i<4) { DF[ i, 3 ] <- 0} else
{
DF[ i, 3 ] <- ((DF[i,1] + DF[i-1,1] + DF[i-2,1] + DF[i-3,1])/4)
}
}
}
DF與循環函數之後,應該用BA作爲柱2相同的值的額外的列,但它不被添加。我使用print來顯示循環正在執行,並且這些值是我期望在第3列中輸入的值。
MSU V2
1 12 0.00
2 11 0.00
3 6 0.00
4 5 10.25
5 6 8.50
6 6 7.25