【问题标题】:dplyr filter statement not in expression from a data.framedplyr 过滤器语句不在 data.frame 的表达式中
【发布时间】:2018-06-07 12:06:26
【问题描述】:

我想在 dplyr 中使用带有 data.frame 的 not in 语句,但它不起作用。我想从 data.frame 中排除值,因为我确实有大量的周数。下面是一个例子

df1 = data.frame(week=c(1,2,3,4,5,6),sales=c(10,24,23,54,65,45))
week_e=data.frame(week=c(2,5)) 

所以我想从 df1 中排除 week_e 数据框中的周数,以下是代码 它不工作。请帮忙!谢谢。

       df1  %>%
       filter(!week %in% week_e)  

       week sales
   1    1    10
   2    2    24
   3    3    23
   4    4    54
   5    5    65
   6    6    45

【问题讨论】:

    标签: r filter dplyr notin


    【解决方案1】:

    其实我得到了答案。添加一个 unlist 到 week_e data.frame 然后它就解决了

     df1 = data.frame(week=c(1,2,3,4,5,6),sales=c(10,24,23,54,65,45))
     week_e=unlist(data.frame(week=c(2,5)))
    
     df1  %>%
     filter(!week %in% week_e) 
    
     week sales
      1    10
      3    23
      4    54
      6    45
    

    【讨论】:

      猜你喜欢
      • 2018-05-17
      • 1970-01-01
      • 2020-04-17
      • 2021-05-21
      • 2020-08-08
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多