这不是确切的问题,而是一般的想法
test<-data.frame(rbind(c(1,2,3), c(4, 5, 6), c(7, 8, 9), c(1, 2, 3)))
names(test)[1] <- "one"
names(test)[2] <- "two"
names(test)[3] <- "three"
所以我基本上想要创建一个包含一列的新数据框,其中每一行是行(I) - 测试数据框的行(I + 1)
如:
test[1,1]-test[2,1]
test[2,1]-test[3,1]
test[3,1]-test[4,1]...
我试过了:
k<-nrow(test)
for(i in 1:k-1){
test2<-data.frame(test[i,1]-test[i+1,1])
}
但这只是产生一个值
然后添加最后一行'0',所以总共有k行
答案 0 :(得分:0)
对于您的行到行减法,您需要循环遍历行和列:
k<-nrow(test)
n <- ncol(test)
for (j in 1:n){
for(i in 1:k-1){
test[i,n + j] <- test[i,j]-test[i+1,j]
i = i+1
}
}
添加新行:
test[k+1,] <- matrix(0,nrow=1, ncol=n)