r - 如何计算R中多年每年特定日期的平均值?
问题描述
我想计算每年特定时间段的平均温度(t)。
我有天气数据,可以为我提供每一天的价值。我的真实数据是从 2011 年到 2019 年,并且所有年份都有所有的日子,我想例如每年 4 月 20 日至 5 月 15 日的平均温度。
示例数据:
df <- data.frame(matrix(ncol = 4, nrow = 8))
x <- c("year", "month","day","t")
colnames(df) <- x
df$year <- c(2011,2011,2011,2011,2012,2012,2012,2012)
df$month <- c(3,3,4,4,3,3,4,4)
df$day <- c(1,2,3,4,1,2,3,4)
df$t <- c(1,3,6,1,2,7,1,-9)
我确实设法用一个非常丑陋且耗时的代码来做到这一点,但缺乏知识阻止了我的前进。
先感谢您。
解决方案
你tidyverse
可以做类似的事情:
library(tidyverse)
Data %>%
filter((month == 4 & day >= 20) |
(month == 5 & day <= 15)) %>%
group_by(year) %>%
summarise(mean_temp = mean(t))
推荐阅读
- python - 我无法安装scrapy
- sockets - 在本地测试 UDP 广播
- php - 将 XML 解析为值可能不存在的表
- python - 有没有办法从python中的字符串中找到关键字
- c# - Formview Image Control 在模式切换时清除代码设置的 imageURL
- eclipse - Eclipse 给了我无效的参数“候选人是:float atanf(float)”,即使参数是有效的
- javascript - 使用 Jquery 限制带有父 html 选择器的复选框选择
- scipy - 如何使用 SciPy 重用 Jacobian 和 Inverse Hessian 最小化
- html - 如何在引导程序中在我的屏幕上均匀分布五列?
- python - python,linux:如何将整个硬盘驱动器作为一个原始二进制文件打开