在R中创建一个循环并将结果保存为数据框

时间:2020-04-01 10:14:56

标签: r loops dataframe

我想对 data (这是一个包含18个变量(共11个变量)的数据框)应用以下循环。我的结果只是一个18 obs的数据框。和1个变量

results <- data.frame(matrix(nrow=18,ncol=11))

for (i in 1:11){
 results <- (data[,i]-(data[,(i-1)]))
 }

因此要指定我的问题:我想从“数据”中减去每一列,再加上下一个较小的列。所以第1列-第0列,coloum 2-第1列,依此类推,最后是第11列-第10列。我想将“结果”保存为数据框

1 个答案:

答案 0 :(得分:0)

矩阵从1开始索引,

set.seed(123)
data <- matrix(rnorm(18 * 12), nrow = 18)
results <- data.frame(matrix(nrow = 18, ncol = 11))

for (i in 2:12){
  results[,i - 1] <- data[,i] - data[,i - 1]
}