我有两个不同的数据帧,df1和df2。我需要删除df1中df2内的观察结果。我想在每个行和列中进行循环,并检查该值是否在df2内,如果是,则删除它。我想知道是否有更快的方法可以做到这一点。这就是我现在所拥有的
`for(i in 1:nrow(df1)){
for(j in 1:ncol(df1)){
if(df[i,j] %in% df2){
df[i,j] <- 'NA'
}
}
}`
我不想删除整行,只删除df2中的值并将单元格移到左侧。 然后删除所有NA值。非常感谢你。
答案 0 :(得分:-1)
你有任何身份证或钥匙可以检查吗?
你应该能够在dplyr包中使用anti_join,但是,它检查从df1到df2的整行的整行:
?anti_join
"return all rows from x where there are not matching values in y,
keeping just columns from x."