在对此问题进行了广泛搜索之后,我仍然找不到解决方案。我的数据框很简单,只有两列,共43行。第一列包含两个日期,其中一个日期出现了19次,另一个日期出现了24次。第二列是温度。我想按日期查找最高和最低温度,但我的代码一直打印整个数据集的最高和最低温度。
数据:
Date <- c(rep(x = "2017-05-18", each= 19), rep(x = "2017-05-19", each= 24))
Temperature_F <- c(35, 35, 42, 49, 57, 63, 64, 67, 70, 71, 72, 71, 72, 70, 66, 61, 57, 54, 50, 49, 45, 44, 44, 42, 40, 39, 47, 53, 61, 67, 69,
72, 75, 76, 77, 76, 77, 75, 71, 66, 62, 58, 54)
NWS_temps1 <- data.frame(Date, Temperature_F)
这是我的 dplyr 代码,但我一直得到整个温度列的最大值和最小值,而我认为它应该给我每天的最高温度和最低温度。
NWS_temps1 <- tbl_df(NWS_temps1)
NWS_temps1 %>%
group_by(Date) %>%
summarise(Tmax = max(Temperature_F), Tmin= min(Temperature_F))
我得到的输出是:
Tmax Tmin
77 35
当我希望:
Date Tmax Tmin
2017-05-18 72 35
2017-05-19 77 39
我不明白为什么日期没有按照应有的方式分组。我已经尝试过将日期更改为因子,如此处所示,字符、日期对象甚至POSIXct,但结果总是整个数据框的最大值和最小值。
非常感谢任何帮助。
谢谢。
group_by
,而不是用于标准评估的group_by_
。 - wwwgroup_by_
替换为group_by
。它可以正常工作。 - wwwplyr
。然后它会折叠成对整个数据框进行汇总。我倾向于每次使用dplyr::summarise
,但这一次忘记了。我通常不会加载plyr
,但可能是其他包调用了它。 - Kim