我是R的新手,并试图学习一种简单的方法来完成我的任务:
我有一个包含15列的数据框。列名为A
,B
,C
,D
,...,O
,共有112行。
我有另一个向量,其中包含每次迭代时要读取的列序列。 例如:
x <- c("D", "E", "G", "H", "A", "B", "F")
我想做的是:
D
),然后仅对该列执行操作。D
和E
)并执行我的操作。D
,E
和G
列并执行我的操作我怎么能在R?中做到这一点?
答案 0 :(得分:1)
DF <- as.data.frame(matrix(1:27, ncol=9))
names(DF) <- LETTERS[seq_along(DF)]
set.seed(42)
x <- sample(names(DF))
sapply(seq_along(x), function(i) {
sum(DF[, x[sequence(i)], drop=FALSE])
})
#[1] 78 147 171 213 246 306 357 363 378