合并数据框而不更改值

时间:2019-06-11 17:50:34

标签: r

我有两个数据框

df1 <- data.frame(c(1:10))
df2 <- data.frame(c(1,0,1,1,0,1,0,0,1,0)

我尝试使用以下代码合并它们:

merge(df1,df2,all = TRUE, sort = FALSE)

但是我的数据框确实很奇怪,有100行

我希望数据框看起来像这样:

col1    col2
1       1
2       0
3       1
4       1
5       0
6       1
7       0
8       0
9       1
10      0

我该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以只定义一个新的数据框,然后使用[,1]从现有数据框中提取列,这使您能够命名列。

data.frame(col1=df1[,1], col2 = df2[,1])               
#   col1 col2
#1     1    1
#2     2    0
#3     3    1
#4     4    1
#5     5    0
#6     6    1
#7     7    0
#8     8    0
#9     9    1
#10   10    0

答案 1 :(得分:1)

这将为您提供所需的格式,并带有命名列:

library(dplyr)
df1 <- data.frame(col1 = c(1:10))
df2 <- data.frame(col2 = c(1,0,1,1,0,1,0,0,1,0))
df <- bind_cols(df1, df2)

答案 2 :(得分:0)

您可以使用cbind()来做到这一点,它代表列绑定:

cbind(df1, df2)