【发布时间】:2017-08-09 13:49:34
【问题描述】:
我有一个嵌套的对象列表,我想首先重命名一些变量并行绑定它的对象,但只选择一些变量。
在下面的示例中,我想将第二个对象中的列 A 重命名为 a,并将第三个对象中的 w 重命名为 x,然后行绑定所有三个对象,仅选择列 a和x 使用。
数据:
df <- list(structure(list(a = 1:3,
x = c(-1.99, -1.11, -0.34),
y = c("C", "B", "A")), .Names = c("a", "x", "y"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -3L)), structure(list(a = 1:3, x = c(-0.44, -1.07, -0.23)), .Names = c("A", "x"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -3L)),
structure(list(a = 1:3, x = c(-0.62, -0.60, -0.06),
y = c(3L, 2L, 1L)), .Names = c("a", "w", "y"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -3L)))
列表结构:
> lapply(df, names)
[[1]]
[1] "a" "x" "y"
[[2]]
[1] "A" "x"
[[3]]
[1] "a" "w" "y"
然后,行绑定然后:
library(plyr)
df2 <- ldply(df, data.frame)
【问题讨论】: