这个问题可能以前已经回答过,但我似乎找不到答案。您如何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))
Run Code Online (Sandbox Code Playgroud)
这将返回列x和y。如何在不必更改列名的情况下只返回单个列?
所需的输出,我真的不在乎列名最终是什么:
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4
Run Code Online (Sandbox Code Playgroud)
您可以使用快速的 2 行函数执行此操作:
force_bind = function(df1, df2) {
colnames(df2) = colnames(df1)
bind_rows(df1, df2)
}
force_bind(df1, df2)
Run Code Online (Sandbox Code Playgroud)
输出:
x
1 1
2 2
3 3
4 1
5 2
6 3
7 4
Run Code Online (Sandbox Code Playgroud)
我认为我们仍然需要更改这里的名称
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6838 次 |
| 最近记录: |