基于变量对 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
我在 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