我在使用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函数的原因。
答案 0 :(得分:2)
space
current.month()
个字符
> gsub("0", " ", format(Sys.Date(), "%m"))
[1] " 4"
将0
替换为""
> gsub("0", "", format(Sys.Date(), "%m"))
[1] "4"