do.call vs rbind,保持rownames

时间:2015-08-19 17:15:13

标签: r

使用rbind vs do.call(rbind, x)时。 do.call操作为何以及如何维护父列表名称而不是rbind

另外,如果我想在rbind中复制do.call的行为,通过检索父列表名称并将其作为行名传递,如何尽可能顺利地完成?

1 个答案:

答案 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