使用rbind
vs do.call(rbind, x)
时。 do.call
操作为何以及如何维护父列表名称而不是rbind
?
另外,如果我想在rbind中复制do.call的行为,通过检索父列表名称并将其作为行名传递,如何尽可能顺利地完成?
答案 0 :(得分:1)
考虑一个命名列表:
(l <- list(a=data.frame(x=1, y=2), b=data.frame(x=2, y=3)))
# $a
# x y
# 1 1 2
#
# $b
# x y
# 1 2 3
如您所知,带do.call
的{{1}}会传递列表元素的名称,从而产生合并数据框的行名称:
rbind
要单独使用do.call(rbind, l)
# x y
# a 1 2
# b 2 3
来获取这些名称,您需要做的就是为该函数提供命名参数:
rbind