dplyr 过滤器语句不在 data.frame 的表达式中
Posted
技术标签:
【中文标题】dplyr 过滤器语句不在 data.frame 的表达式中【英文标题】:dplyr filter statement not in expression from a 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
【问题讨论】:
【参考方案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
【讨论】:
以上是关于dplyr 过滤器语句不在 data.frame 的表达式中的主要内容,如果未能解决你的问题,请参考以下文章