大家好,我正在尝试用 R 中的数据框列表解决一个小问题。我在 R 中有五个数据框的列表,它们按名称排序,例如 first is d1
, secondd2
等,final is d5
。我的列表结构如下:
structure(list(d1 = structure(list(x = c("001", "002", "003",
"004", "005", "006"), y = c(1, 2, 1, 1, 1, 1), z1 = c(1, 1, 1,
1, 1, 1)), .Names = c("x", "y", "z1"), row.names = c(NA, 6L), class = "data.frame"),
d2 = structure(list(x = c("001", "002", "003", "004", "005",
"006", "007"), y = c(1, 2, 1, 1, 1, 1, 1), z2 = c(2, 2, 2,
2, 2, 2, 2)), .Names = c("x", "y", "z2"), row.names = c(NA,
7L), class = "data.frame"), d3 = structure(list(x = c("001",
"002", "003", "004", "005", "006", "007", "008"), y = c(1,
2, 1, 1, 1, 1, 1, 1), z3 = c(3, 3, 3, 3, 3, 3, 3, 3)), .Names = c("x",
"y", "z3"), row.names = c(NA, 8L), class = "data.frame"),
d4 = structure(list(x = c("001", "002", "003", "004", "005",
"006", "007", "008", "009"), y = c(1, 2, 1, 1, 1, 1, 1, 1,
1), z4 = c(4, 4, 4, 4, 4, 4, 4, 4, 4)), .Names = c("x", "y",
"z4"), row.names = c(NA, 9L), class = "data.frame"), d5 = structure(list(
x = c("001", "002", "003", "004", "005", "006", "007",
"008", "009", "010"), y = c(1, 2, 1, 1, 1, 1, 1, 1, 1,
1), z5 = c(5, 5, 5, 5, 5, 5, 5, 5, 5, 5)), .Names = c("x",
"y", "z5"), row.names = c(NA, 10L), class = "data.frame")), .Names = c("d1",
"d2", "d3", "d4", "d5"))
我的问题是我可以有五个以上的元素,我需要考虑他们的名字按降序排列它们,例如我想要在第一个位置a5
,第二个位置a4
,第三个位置a3
,第二个位置a2
和最后一个位置a1
。我想要这样的东西:
list
a5
x y z5
001 1 5
a4
x y z4
001 1 4
a3
x y z3
001 1 3
a2
x y z2
001 1 2
a1
x y z1
001 1 1
我等待这可以在 R 中实现,我试图llply
从plyr
包中使用,但我没有得到那个结果。谢谢你的帮助。