我正在尝试使用下面显示的VarList函数进行整合。主要思想是功能是返回堆叠数据。
[[1]]
Var Number
1 E 7
2 F 8
3 G 6
[[2]]
Var Number
1 W 3
2 O 1
3 I 8
4 P 5
5 K 4
[[3]]
Var Number
1 A 1
答案 0 :(得分:1)
我们可以使用do.call
do.call(rbind, VarList[c(1,3)])
如果我们需要一个功能
stackedFn <- function(lst, index){
list(`row.names<-`(do.call(rbind, lst[index]), NULL))
}
stackedFn(VarList, c(1,3))
#[[1]]
# Var Number
#1 E 7
#2 F 8
#3 G 6
#4 A 1
#5 B 6
#6 C 3
#7 D 7
使用for
循环
stackedForFn <- function(lst, index){
res <- NULL
for(i in seq_along(index)){
res <- rbind(res, lst[[index[i]]])
}
row.names(res) <- NULL
list(res)
}
stackedForFn(VarList, c(1,3))
#[[1]]
# Var Number
#1 E 7
#2 F 8
#3 G 6
#4 A 1
#5 B 6
#6 C 3
#7 D 7
选择list
stackedForFn(VarList, 2)
#[[1]]
# Var Number
#1 W 3
#2 O 1
#3 I 8
#4 P 5
#5 K 4
使用单个参数
stackedForFnMod <- function(lst){
res <- NULL
for(i in seq_along(lst)){
res <- rbind(res, lst[[i]])
}
row.names(res) <- NULL
list(res)
}
stackedForFnMod(VarList[c(1,3)])
#[[1]]
# Var Number
#1 E 7
#2 F 8
#3 G 6
#4 A 1
#5 B 6
#6 C 3
#7 D 7