如何将具有相似变量名称的多个数据帧合并为一个数据帧?

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

我正在尝试编写代码以组合多个数据帧(大约100个),其中每个数据帧都以变量名output1,output2,...,output100存储。我想使用rbind函数将这些数据帧合并到单个数据帧中,但由于我必须再次写入每个变量名称,因此无法正常工作。

我需要一次写入所有变量名或以循环形式写所有变量名的建议。

问题:我正在尝试将代码编写为rbind(output1,output2,output3,....,output100),这是非常冗长而乏味的。

r
1个回答
0
投票

您可以使用mget示例:

调用ls()将为您提供工作空间中的对象名称。

ls()
# [1] "n"       "out.lst"     "output.1"     "output.2"      "output.3"     "something.else"

然后使用mget抓取pattern=的数据帧,然后使用rbind抓取它们的数据。

do.call

玩具数据:

output.long <- do.call(rbind, mget(ls(pattern="output.")))
#            x y z
# output.1.1 1 1 2
# output.1.2 5 5 4
# output.2.1 2 1 4
# output.2.2 5 4 1
# output.3.1 5 4 2
# output.3.2 2 2 3
© www.soinside.com 2019 - 2024. All rights reserved.