【发布时间】:2016-12-14 21:35:57
【问题描述】:
我想从一个主数据帧中获取三个子数据帧。当我运行下面的代码时,我不断收到这样的错误消息。
[.data.frame(x, r, vars, drop = drop) 中的错误: 选择了未定义的列
x <- matrix(rnorm(30, 1), nrow = 10, ncol = 26)
z <- c(1, seq(10))
x <- cbind(z, x) #combining
master = data.frame(x)
start = c(9,14,21) # subset starts from the column ..
end = c(14,21,27) # subset ends with the column ..
grup = c('dm', 'latam', 'ceemea', 'asia')
for (x in 2:4) {
for (i in start) {
for (j in end) {
if(i<j && j-i <=10) {
assign(paste('ret', grup[x], sep='.'),
subset(master, select = c(1, (i+1):j)))
}
}
}
}
有人可以帮帮我吗?请。
我的愿望输出是:
ret.latam = master[, c(1, 10:14)]
ret.ceemea = master[, c(1, 15:21)]
ret.asia = master[, c(1, 22:27)]
【问题讨论】:
-
你想要的输出是什么?
-
我想要这样的子 df,ret.latam = master[, c(1, 10:14)], ret.ceemea = master[, c(1, 15:21)] , ret.asia = master[, c(1, 22:27)],
标签: r loops dynamic dataframe subset