使用dplyr::left_join时避免使用NA填充

使用dplyr::left_join时避免使用NA填充,r,R,我正在使用dplyr中的left\u join连接两个数据帧。这里是一个MWE: library(dplyr) dfOne <- data.frame(1:10, 8*(1:10), c(2,4,6,8,10,12,14,16,18,20) ) colnames(dfOne)<-c("one", "two", "three") dfTwo <- data.frame(1:6,

我正在使用
dplyr
中的
left\u join
连接两个数据帧。这里是一个MWE:

library(dplyr)

dfOne <- data.frame(1:10, 
                    8*(1:10),
                    c(2,4,6,8,10,12,14,16,18,20) )
colnames(dfOne)<-c("one", "two", "three")


dfTwo <- data.frame(1:6, 
                    8*(1:6),
                    c(2,4,6,8,10,12) )
colnames(dfTwo)<-c("one", "two", "three")


left_join(dfOne[c("one", "two")], dfTwo[c("two", "three")], by="two")

three
dfTwo$one
中不存在
dfTwo$two
的所有行中填充
NA
。但是,是否可以使用
left\u join
来避免
NA
-值,而它们是空的(
NULL

我不确定我是否正确理解了您的问题,但如果我理解正确,那么理解R中的NA与SQL中的Null相同可能会有所帮助。如果希望NA显示为“”,只需在左连接中命名数据帧(例如“lj_df”),并替换所有NA。您可以将“”替换为0或“Null”或任何其他您喜欢的内容

lj_df <- left_join(dfOne[c("one", "two")], dfTwo[c("two", "three")], by="two")    
lj_df[is.na(lj_df)] <- "" 

lj\u-df您想要
内部连接
而不是
左侧连接
lj_df <- left_join(dfOne[c("one", "two")], dfTwo[c("two", "three")], by="two")    
lj_df[is.na(lj_df)] <- ""