0

最後の3行のデータを新しい列に合計できる関数をrで作成しようとしています(つまり、4日目= 3 + 2 + 1日を見ている場合)

これは私がこれまでに取り組んできたことですが、うまくいきません。

S3<- function(x){
res <- numeric(nrow(x))
for (i in 1:nrow(x)){    
res[i] <- i
if (i > 3) {             
  res[i] <- x[i-3,10]
} else {
  res[i] <- x[i,10]
}
}
x$PP3 <- res
return(x)
}
4

1 に答える 1

0

これを使って:

x$PP3 <- x[,10] + c(0,head(x[,10],-1)) + c(0,0,head(x[,10],-2))

関数が必要な場合:

S3 <- function(x, j=10){
    within(x, PP3 <- x[,j] + c(0,head(x[,j],-1)) + c(0,0,head(x[,j],-2)))
}
于 2013-09-03T16:55:25.690 に答える