如何将具有不同行数的列附加到R中的数据框中?

时间:2017-05-25 11:57:25

标签: r vector

假设有一个具有固定行数的数据框,例如

a <- as.data.frame(c(1:7))

还有一个行数较少(或更大)的向量:

b <- c(1:4)

然后无法将b作为新列添加到:

a <- cbind(a, b)

这是输出:

Error in data.frame(..., check.names = FALSE) : 
  arguments imply differing number of rows: 7, 4

预计会有以下结果:

1      1      1
2      2      2
3      3      3
4      4      4
5      5     NA
6      6     NA
7      7     NA

2 个答案:

答案 0 :(得分:3)

我们可以使用cbind.fill

中的rowr轻松完成此操作
rowr::cbind.fill(a, b, fill = NA)

答案 1 :(得分:1)

您可以使用:

a <- 1:7
b <- 1:4
n <- max(length(a), length(b))
length(a) <- n                      
length(b) <- n

df <- data.frame(cbind(a, b))