我有一个名为 main
的主数据框,该数据框的子集名为 main1
。我想创建一个数据框 main2
,其中包含 main
中不是 main1
的所有内容。我该怎么做?
答案 0 :(得分:-1)
您应该使用anti_join
tidyverse
> main<- data.frame(x1 = rnorm(10), x2 = runif(10), x3 = rpois(10, 2))
> main
x1 x2 x3
1 1.4406206 0.30588109 2
2 0.4445457 0.92770941 2
3 0.3516765 0.33743271 3
4 1.1340182 0.01655045 3
5 0.9737873 0.88921373 0
6 -0.4238340 0.40776005 0
7 0.1655138 0.06214448 4
8 -1.5709535 0.31105756 0
9 -0.7058486 0.09526843 2
10 -0.9903269 0.36750970 2
> main1<- main[sample(1:nrow(main), 3), ]
> main1
x1 x2 x3
5 0.9737873 0.88921373 0
4 1.1340182 0.01655045 3
9 -0.7058486 0.09526843 2
> main2<- anti_join(main, main1)
# Joining, by = c("x1", "x2", "x3")
> main2
x1 x2 x3
1 1.4406206 0.30588109 2
2 0.4445457 0.92770941 2
3 0.3516765 0.33743271 3
4 -0.4238340 0.40776005 0
5 0.1655138 0.06214448 4
6 -1.5709535 0.31105756 0
7 -0.9903269 0.36750970 2