在R中的循环中按顺序合并多个数据帧

问题描述 投票:0回答:1

我在R环境中有两种类型(比如a和b)的数据帧,每种都有20年。我试图在R中编写一个循环,这样我就可以将类型a中的第一个数据帧与类型b中的第一个数据帧合并为一个特定的变量。

我的环境中有a1,a2,...,a20和b1,b2,...,b20,我尝试合并的公共变量是ID。我试过下面的代码,但我猜这个问题是在我定义x和y的合并函数中。

for (i in 1:20) {
  assign(paste0("ab", i), merge(x="a"&i, y="b"&i, by.x = 'ID', by.y='ID', all.x=TRUE))

}

我希望有20个新的数据帧(称为ab1,ab2,...,ab20),其中包含a和b类型的信息。任何帮助将不胜感激,如果存在相同的问题,请指出我。

r merge
1个回答
0
投票

这个怎么样:

for (i in 1:20) {
  assign(paste0("ab", i), merge(x=get(paste0("a",i)), y=get(paste0("b",i)), by.x = 'ID', by.y='ID', all.x=TRUE))
© www.soinside.com 2019 - 2024. All rights reserved.