Dplyr Filter Bug

时间:2018-04-26 18:16:11

标签: r filter shiny dplyr

问题:

我在使用dplyr的过滤器动词时遇到了一个奇怪的问题。我试图按当前月份和当前年份过滤data.frame。我为两者创建了一个反应函数:

current.month()

当我尝试按反应式表达式进行过滤时,我的data.frame不会返回任何结果。尽管我的data.frame中的日期列的类型字符是current.year()& df[df$REPORT == input$dropdown.report, ] %>% filter(Month == current.month() & Year == current.year()) 反应值。

我拥有的:

df[df$REPORT == input$dropdown.report, ] %>%
   filter(Month == "4" & Year == "2018")

这不会返回任何输出。

然而,当我对输入进行硬编码时,我的表返回没有任何问题。

sudo easy_install pip

有人能引导我朝着正确的方向前进吗?您可以使用iris数据集重新创建此确切问题。我理解输出对于可重现的示例很重要,但我不能分享我公司的数据。

编辑:

出于计数目的,我的data.frame将日期变量分为2列:Month,Year。 Month是单个字符,没有前导0 - 这就是我需要使用上面的gsub函数的原因。

1 个答案:

答案 0 :(得分:2)

space

中有一个不受欢迎的current.month()个字符
> gsub("0", " ", format(Sys.Date(), "%m"))
[1] " 4"

0替换为""

> gsub("0", "", format(Sys.Date(), "%m"))
[1] "4"