我的df1
有4列(让我们称之为a
,b
,c
和d
),{{1有2列(df2
和a
)。我想在b
中添加df2
所缺少的列(df1
和c
),并用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))
?)
答案 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"