3
假设我有两个数据帧,DF1和DF2以及它们包含相同的列标题,这样,如何在r中组合两个数据帧,以便生成的数据帧具有指示原始数据帧的新列?
df1 =
price size
10 40
和
df2 =
price size
20 50
我会以使得所得到的这两个数据帧相结合数据帧, 价格大小起源
10 40 df1
20 50 df2
的思考?
假设我有两个数据帧,DF1和DF2以及它们包含相同的列标题,这样,如何在r中组合两个数据帧,以便生成的数据帧具有指示原始数据帧的新列?
df1 =
price size
10 40
和
df2 =
price size
20 50
我会以使得所得到的这两个数据帧相结合数据帧, 价格大小起源
10 40 df1
20 50 df2
的思考?
最简单的方法,因为我看到它,(如果你有很多的数据集称为df
+一些号 - 虽然你可以选择一些其他的正则表达式太)是由全球环境让他们所有和使用do.call/rbind
组合
res <- do.call(rbind, mget(ls(pattern = "^df\\d+$")))
res
# price size
# df1 10 40
# df2 20 50
如果你喜欢的起源是一列而不是行的名称,你可以简单地做
res$origin <- row.names(res)
你也可以做
library(tidyr)
unnest(mget(paste0('df', 1:2)), origin)
# origin price size
#1 df1 10 40
#2 df2 20 50
首先,您需要在两个data.frames(分别指定“df1”和“df2”)中创建第三个具有正常赋值的变量;那么你可以使用'rbind'来“粘贴”它们。 –