在DF1%>%中不存在的DF2列创建它们%>%用NAs填充它们

时间:2016-06-08 12:08:27

标签: r sparkr

我的df1有4列(让我们称之为abcd),{{1有2列(df2a)。我想在b中添加df2所缺少的列(df1c),并用d填充它们,然后合并两者。正常的R代码如下(如果我没有弄错的话):

NA

但这不适用于mdf <- plyr::rbind.fill(df1, df2) 的{​​{1}}:SparkR

如何使用适用于SparkR DataFrame的功能?

(显然,我喜欢可以维护的东西,而不是基本上像Error: All inputs to rbind.fill must be data.frames那样手工添加每一列的东西)

由于

(虽然我正在,DataFrame给了我df2$c <-names(df1) %in% names(df2)给了我[1] TRUE TRUE FALSE FALSE,我应该使用什么函数让它返回名字列,即which(names(dt1) %in% names(dt2))?)

1 个答案:

答案 0 :(得分:0)

回答问题的第二部分。您可以使用dplyr :: setdiff按名称查找两个数据帧上不存在的列。

设置数据框(这也适用于列):

df1 <- c(LETTERS[1:4])
df2 <- c(LETTERS[3:4])

df1
[1] "A" "B" "C" "D"
df2
[1] "C" "D"

并找到两个数据框中都不存在的列使用

setdiff(df1, df2)
[1] "A" "B"

或查找两个数据框中都存在的列

intersect(df1, df2)
[1] "C" "D"