从数据框R中删除观察结果

时间:2017-07-31 20:30:40

标签: r

我有两个不同的数据帧,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值。非常感谢你。

1 个答案:

答案 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."