将向量添加到列,而不指定其他列

Tom*_*Tom 2 r vector rbind data.table

我想将向量添加到列中,而不指定其他列。我有示例数据如下。

library(data.table)
dat <- fread("A B C D
              one 2 three four
              two 3 NA    one")

vector_to_add <- c("five", "six")
Run Code Online (Sandbox Code Playgroud)

期望的输出:

out <- fread("A B C D
              one 2 three four
              two 3 NA    one
              NA  NA five  NA
              NA  NA six   NA")
Run Code Online (Sandbox Code Playgroud)

我看到一些答案使用向量用于行绑定的方法:

row3 < c(NA, NA, "five", NA)
Run Code Online (Sandbox Code Playgroud)

然而,我想找到一个没有指定整行的解决方案。

编辑NA:发布后不久,我意识到对于向量中的每个条目,采用现有行、创建 row 并替换要添加向量的列中的值可能是最简单的。然而,我认为这仍然是一个相当麻烦的解决方案。

M.V*_*ing 5

如果您为向量命名,则可以rbind在该列中使用 NA 填充其余单元格。

df_to_add <- data.frame(C=c("five", "six"))
rbind(dat, df_to_add, fill=TRUE)
Run Code Online (Sandbox Code Playgroud)
      A  B     C    D
1:  one  2 three four
2:  two  3  <NA>  one
3: <NA> NA  five <NA>
4: <NA> NA   six <NA>
Run Code Online (Sandbox Code Playgroud)