r语言 - 如何在没有 ID 的情况下连接/排序两个相关数据集



我想合并两个相关但没有共同ID的数据帧。

示例数据:

 df1                 df2
2010-01-01           2010-01-26
2010-01-02           2010-01-27
2010-01-03           2010-01-28
2010-01-25           2010-01-29
                     2010-01-30
                     (2010-01-31)

期望:

2010-01-01
2010-01-02
2010-01-03     
2010-01-25 
2010-01-26
2010-01-27
2010-01-28
2010-01-29
2010-01-30

我试过

library(plyr) # joining tables
hi<-join(df1, df2, by = NULL)

但如果没有标识符就不起作用。

rbind完全符合您的要求:它实际上将列"堆叠"在彼此之上:

df1 <- data.frame(data=c("2010-01-01", "2010-01-02", "2010-01-03", "2010-01-25"))
df2 <- data.frame(data=c("2010-01-26", "2010-01-27", "2010-01-28", "2010-01-29", "2010-01-30"))
rbind(df1, df2)
#        data
#1 2010-01-01
#2 2010-01-02
#3 2010-01-03
#4 2010-01-25
#5 2010-01-26
#6 2010-01-27
#7 2010-01-28
#8 2010-01-29

如果其中一个数据帧的列数多于另一个数据帧,请使用plyr包中的rbind.fillNA 填充缺失值。

require(plyr)
df1$test <- sample(nrow(df1))
rbind.fill(df1, df2)
#        data test
#1 2010-01-01    3
#2 2010-01-02    1
#3 2010-01-03    2
#4 2010-01-25    4
#5 2010-01-26   NA
#6 2010-01-27   NA
#7 2010-01-28   NA
#8 2010-01-29   NA
#9 2010-01-30   NA

最新更新