R 将全局环境中的多个数据帧合并到一个文件中

R 将全局环境中的多个数据帧合并到一个文件中,r,merge,R,Merge,我的全局环境中有4个数据帧。它们被命名为propens1、propens2、propens3和propens4。我有第五个文件,名为“bmi”,我想将bmi与所有四个propen文件合并。我可以使用dplyr连接或base merge单独合并它们,但是我想知道是否有一种方法可以用一条语句而不是4来合并它们 这是我尝试过的,但不起作用?欢迎并赞赏任何建议 flist=ls(pattern="propen") sapply(flist,function(x){merge(x,bmi,by="cfac

我的全局环境中有4个数据帧。它们被命名为propens1、propens2、propens3和propens4。我有第五个文件,名为“bmi”,我想将bmi与所有四个propen文件合并。我可以使用dplyr连接或base merge单独合并它们,但是我想知道是否有一种方法可以用一条语句而不是4来合并它们

这是我尝试过的,但不起作用?欢迎并赞赏任何建议

flist=ls(pattern="propen")
sapply(flist,function(x){merge(x,bmi,by="cfact",all.x=T)})

如果您有多个相关的数据帧,最好将它们全部放在一个列表中,而不是在全局环境中将它们全部分开。根据你的陈述

它们被命名为propens1、propens2、propens3和propens4

我们可以使用

datalist <- mget(ls(pattern = "propens[1-4]"))
lapply(datalist, merge, y = bmi, by = "cfact", all.x = TRUE)