基于变量对 R 中的数据帧进行子集化/取消合并

Subsetting / unmerging data frames in R based on a variable

我在 R 中有两个数据框。

one <- data.frame( x = letters[1:10] , y = 1:10, z = rnorm(10))    
two <- data.frame( x = letters[1:20] , y = 1:20, z = one$z)

我想 "un-merge" 这些基于变量 x 的数据框...我的意思是...我想创建第三个数据框,其中包含来自 [=11] 的所有记录=] 在数据框 one 而不是 。所以我想看看 two 并说“去掉这个数据框中恰好也在 one 中的所有行。这有意义吗?任何帮助将不胜感激!

基于 R 的一个解决方案:

#using as.character since one$x and two$x are factors in this case
> two[ as.character(one$x) != as.character(two$x), ]
   x  y          z
11 k 11 -0.6680130
12 l 12 -1.0501888
13 m 13 -1.0987269
14 n 14  1.0045557
15 o 15 -0.6002310
16 p 16  1.3162201
17 q 17 -0.1209575
18 r 18 -1.0129547
19 s 19  2.4832670
20 t 20  0.4660156