如何找到 R 中另一个变量(年)的子集(某些天)聚合的变量(x 值)的平均值?
How to find average of variable (x value) aggregated by subset (certain days) of another variable (year) in R?
我想看看是否可以使用聚合函数来计算多年的 9 月到 10 月的平均值。我想将 2021-9-1 至 2021-10-31 范围内的平均降雨量与前几年的相同范围进行比较,而不必为每一年写出平均计算.
DANHP 有 12 个变量,我使用的是:
- 值(以英寸为单位的降雨量)
- DATE(日期格式为 YYYY-MM-DD)
- JULIAN(儒略日 1-365)
- 月份(1-12,提取自 DATE)
- 年份(2012-2021,摘自 DATE)
这是我正在使用的代码:
aggregate(DANHP$value, list(DANHP$Year), subset(filter(DANHP$JULIAN >= 244 & DANHP$JULIAN <= 304)),
FUN=mean)
Error in UseMethod("filter") :
no applicable method for 'filter' applied to an object of class "logical"
好像不能通过过滤的方式为命令定义一个子集,所以我想知道是否有其他方法。
理想情况下,输出类似于以下输出,但此输出计算每年所有天数的均值。我想查看每年相同子集的均值:9 月 1 日至 10 月 31 日(儒略日 244-304)。
aggregate(DANHP$value, list(DANHP$Year), FUN=mean)
Group.1 x
1 2012 0.1455956
2 2013 0.1586712
3 2014 0.1376849
4 2015 0.1338904
5 2016 0.1476230
6 2017 0.2518082
7 2018 0.1467507
8 2019 0.1400603
9 2020 0.1759290
10 2021 0.1520301
11 2022 0.0000000
subset
代码中存在语法错误,其中 dplyr::filter
(可能会被使用)。相反,subset
本身可以在
中使用 subset
参数
aggregate(value ~ Year, subset(DANHP, JULIAN >= 244 & JULIAN <=304), mean)
我想看看是否可以使用聚合函数来计算多年的 9 月到 10 月的平均值。我想将 2021-9-1 至 2021-10-31 范围内的平均降雨量与前几年的相同范围进行比较,而不必为每一年写出平均计算.
DANHP 有 12 个变量,我使用的是:
- 值(以英寸为单位的降雨量)
- DATE(日期格式为 YYYY-MM-DD)
- JULIAN(儒略日 1-365)
- 月份(1-12,提取自 DATE)
- 年份(2012-2021,摘自 DATE) 这是我正在使用的代码:
aggregate(DANHP$value, list(DANHP$Year), subset(filter(DANHP$JULIAN >= 244 & DANHP$JULIAN <= 304)),
FUN=mean)
Error in UseMethod("filter") :
no applicable method for 'filter' applied to an object of class "logical"
好像不能通过过滤的方式为命令定义一个子集,所以我想知道是否有其他方法。
理想情况下,输出类似于以下输出,但此输出计算每年所有天数的均值。我想查看每年相同子集的均值:9 月 1 日至 10 月 31 日(儒略日 244-304)。
aggregate(DANHP$value, list(DANHP$Year), FUN=mean)
Group.1 x
1 2012 0.1455956
2 2013 0.1586712
3 2014 0.1376849
4 2015 0.1338904
5 2016 0.1476230
6 2017 0.2518082
7 2018 0.1467507
8 2019 0.1400603
9 2020 0.1759290
10 2021 0.1520301
11 2022 0.0000000
subset
代码中存在语法错误,其中 dplyr::filter
(可能会被使用)。相反,subset
本身可以在
subset
参数
aggregate(value ~ Year, subset(DANHP, JULIAN >= 244 & JULIAN <=304), mean)