如何简单地"粘贴";相邻的两个数据帧,用NA填充不相等的行(例如,因为我想使"可操作"或类似的东西(?
df1 <- data.frame(a = c(1,2,3),
b = c(3,4,5))
df2 <- data.frame(a = c(4,5),
b = c(5,6))
# The desired "merge"
a b a b
1 3 4 5
2 4 5 6
3 5 NA NA
感谢Ronak Shah,我在这篇文章的答案中找到了一个简单的答案:如何在不重复较短向量元素的情况下对不同长度的向量进行cbind或rbind?
不需要破解任何东西,就可以使用qpcR:
包中的cbind.na
:
df1 <- data.frame(a = c(1,2,3),
b = c(3,4,5))
df2 <- data.frame(a = c(4,5),
b = c(5,6))
comb <- qpcR:::cbind.na(df1, df2)
由于这个答案是4年前的,我想知道是否还有更多的"现代的";流行软件包中的解决方案,如tidyverse等人的
在基本R中,您可以执行:
nr <- max(nrow(df1), nrow(df2))
cbind(df1[1:nr, ], df2[1:nr, ])
# a b a b
# 1 1 3 4 5
# 2 2 4 5 6
# 3 3 5 NA NA