【问题标题】:Filtering a dataframe [duplicate]过滤数据框[重复]
【发布时间】:2018-10-22 21:22:02
【问题描述】:

我有一个名为 main 的主数据框和一个名为 main1 的数据框子集。我想创建一个数据框 main2 ,它包含 main 中的所有内容,而不是 main1 。我该怎么做?

【问题讨论】:

    标签: r


    【解决方案1】:

    你应该使用tidyverse中的anti_join

    > 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-31
      • 2017-04-22
      • 2021-05-02
      • 2015-12-02
      • 2012-03-10
      • 1970-01-01
      相关资源
      最近更新 更多