我正在尝试编写代码以组合多个数据帧(大约100个),其中每个数据帧都以变量名output1,output2,...,output100存储。我想使用rbind函数将这些数据帧合并到单个数据帧中,但由于我必须再次写入每个变量名称,因此无法正常工作。
我需要一次写入所有变量名或以循环形式写所有变量名的建议。
问题:我正在尝试将代码编写为rbind(output1,output2,output3,....,output100),这是非常冗长而乏味的。
您可以使用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