r使用另一个数据帧绑定数据帧的单个列而不更改列名

时间:2017-04-21 23:27:52

标签: r

假设我有两个数据框:

df1 = data.frame(x=1:4,y=2:5)
df2 = data.frame(x2=1:4,y2=2:5)

如果我cbind df1和df2,一切正常

> cbind(df2,df1)
x2 y2 x y
1  1  2 1 2
2  2  3 2 3
3  3  4 3 4
4  4  5 4 5

如果我用df1的第二列cbind df2,列名将会改变:

> cbind(df2,df1[,2])
x2 y2 df1[, 2]
1  1  2        2
2  2  3        3
3  3  4        4
4  4  5        5

无论如何我可以保留列名吗?

3 个答案:

答案 0 :(得分:3)

使用

<h1>YOUR HEADER</h1>
<h4>OTHER HEADER </h4>

<script> 
document.getElementById("h4-title").innerHTML = document.getElementById("h1-title").innerHTML

 </script>

当您只从data.frame中选择一列时,R默认会将其转换为矢量而矢量没有“名称”。通过使用cbind(df2, df1[,2, drop=FALSE]) ,它会显示一个跟踪列名称的data.frame。

答案 1 :(得分:1)

您只需使用cbind(df2,y=df1[,2])

即可

答案 2 :(得分:0)

以下是使用tidyverse

的选项
library(dplyr)
df1 %>%
   select(y) %>%
   bind_cols(df2, .)