首页 > 解决方案 > 基于R中小于等于条件的Dplyr过滤器

问题描述

我正在尝试根据使用in的<=逻辑对数据进行子集化。即使在运行函数之后,数据也不会被过滤。dplyrRfilter

我怎样才能解决这个问题?

代码

library(tidyverse)
    
value = c("a,b,c,d,e,f")
Year = c(2020,2020,2020,2020,2020,2020)
Month = c(01,01,12,12,07,07)
dummy_df = data.frame(value, Year, Month)
dummy_df = dplyr::filter(dummy_df, Month <=07)

现在在dummy数据框上这确实有效,但是当我在我创建的实际数据集和使用的列上使用YearMonth函数Daylubridate;我仍然看到大于 .5 个月的数据07

标签: rdplyr

解决方案


或者在基础 R 中,我们可以这样做:

subset(dummy_df, as.numeric(Month) <= 7)

        value Year Month
1 a,b,c,d,e,f 2020     1
2 a,b,c,d,e,f 2020     1
5 a,b,c,d,e,f 2020     7
6 a,b,c,d,e,f 2020     7

推荐阅读