这个问题可能以前得到了解答,但我似乎无法找到答案。如何使用bind_rows()
仅union
这两个表并忽略列名
bind_rows()
上的文档包含以下示例:
#Columns don't need to match when row-binding
bind_rows(data.frame(x = 1:3), data.frame(y = 1:4))
这将返回列x
和y
。如何在不更改列名的情况下返回单个列?
期望的输出,我真的不在乎列名最终是什么:
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4
答案 0 :(得分:3)
您可以使用快速的2行功能执行此操作:
force_bind = function(df1, df2) {
colnames(df2) = colnames(df1)
bind_rows(df1, df2)
}
force_bind(df1, df2)
输出:
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4
答案 1 :(得分:1)
我认为我们仍然需要更改名称
bind_rows(data.frame(x = 1:3), setNames(rev(data.frame(y = 1:4)), names(data.frame(x = 1:3))))
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4