如何根据R中另一列的日期(月/日/年)计算列的年/月平均值、最大值、最小值等
Posted
技术标签:
【中文标题】如何根据R中另一列的日期(月/日/年)计算列的年/月平均值、最大值、最小值等【英文标题】:How to calculate yearly/monthly average, max value, min value etc of a Column based on the date (month/day/year) on another column in R 【发布时间】:2021-11-17 07:12:53 【问题描述】:如何根据 R 中另一列上的日期(月/日/年)计算列的年/月平均值、最大值、最小值等。我的日期框架包含每日、每月和每小时的降水量和排放量日期从 2013 年 1 月 1 日到 2019 年 12 月 31 日
| Date |precipitation | Stream A Discharge | Stream B Discharge |
----------------------------------------------------------------------------
1 | 1/1/2013 | 0.35 | 2.35 | 3.83 |
例如,我将如何计算 R 中 2013 年或 2013 年 1 月或 2014 年 12 月 A 流的平均/平均/最大/最小降水量或流量?
【问题讨论】:
使用 dplyr::group_by(year(Date)) 或 group_by(Date) 【参考方案1】:将数据更改为date
类,从中提取年份并使用across
可以计算多个列的多个统计信息。
library(dplyr)
library(lubridate)
df %>%
mutate(Date = dmy(Date),
year = year(Date),
year_month = format(Date, '%Y-%m')) %>%
group_by(year) %>%
#If you need for every month
#group_by(year_month) %>%
summarise(across(precipitation:Stream.B.Discharge,
list(mean = mean, min = min, max = max)))
【讨论】:
以上是关于如何根据R中另一列的日期(月/日/年)计算列的年/月平均值、最大值、最小值等的主要内容,如果未能解决你的问题,请参考以下文章