我有两个数据框列表。每个列表中的数据框都有一个具有相同名称和值的列。以下是示例:
我想将这两个列表合并成一个,使得新列表的每个元素都是一个数据框,包含以下列:
请注意,共同列中的值没有相同的顺序(在示例中它们是相反的,但在我的数据中它们是混合的)。如果您的解决方案需要首先排序该列,请告诉我。谢谢。
x <- list(data.frame(i=as.character(1:5),x=rnorm(5),z=rnorm(5)),
data.frame(i=as.character(1:5),x=rnorm(5),z=rnorm(5)))
y <- list(data.frame(i=as.character(5:1),x1=rnorm(5),z1=rnorm(5)),
data.frame(i=as.character(5:1),x1=rnorm(5),z1=rnorm(5)))
我想将这两个列表合并成一个,使得新列表的每个元素都是一个数据框,包含以下列:
i, x, z, x1, z1
。也就是说,我想要一个由两个数据框组成的列表,每个数据框都有五行和上述提到的五列。我找不到解决方法(例如,找到如何在列表中连接dfs以形成一个df),我想使用lapply
函数并传递merge(x,y, by= i
)函数,但我不知道第一个参数(即使用的数据)应该是什么。请注意,共同列中的值没有相同的顺序(在示例中它们是相反的,但在我的数据中它们是混合的)。如果您的解决方案需要首先排序该列,请告诉我。谢谢。
map2(results1, results2, ~ inner_join(.x, .y))
。 - ktiu