基于变量在R中子集/取消合并数据帧

时间:2015-02-14 00:32:04

标签: r merge dataframe subset

我在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)

我希望根据变量x“取消合并”这些数据框...我的意思是......我想创建一个包含two所有记录的第三个数据框在数据框one。所以我想看看two并说“摆脱这个数据框中恰好位于one的所有行。这有意义吗?任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:2)

基础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