我已经下载了一个包含长期(viewDidLayoutSubviews()
)温度数据的NC文件,我想使用1992-01-01 to 2016-12-31
将平均每月和每年的温度提取到空间TIFF文件中,以便随后提取平均值我有一个Excel数据集中的月度温度数据,但我不知道如何。可以从here访问数据。
如果有人可以帮助我进行适当的编码。
使用此代码,我试图打开并查看数据:
R
答案 0 :(得分:0)
如果您能够创建一个包含日期和温度列的data.frame(类似于下面的虚拟数据集),则可以轻松地使用dplyr和lubridate包来获取每月和每年的平均值。
使用dplyr的mutate函数将月份和年份列添加到df,并润滑月份和年份功能
library(lubridate)
library(dplyr)
df <- data.frame(date = seq(from = ymd("2017-01-01"), to = ymd("2018-12-31"), length.out = 730),
temp = rnorm(n = 730, mean = 23, sd = 12))
使用dplyr的mutate函数和lubridate的月和年函数将月份和年份列添加到df
df <- df %>% mutate(Month = month(date), Year = year(date))
df的前六行:
# date temp Month Year
# 2017-01-01 17.13885 1 2017
# 2017-01-02 34.23553 1 2017
# 2017-01-03 10.25110 1 2017
# 2017-01-04 11.19415 1 2017
# 2017-01-05 28.09097 1 2017
# 2017-01-06 17.58424 1 2017
您可以使用dplyr的group_by函数获取每月平均值,按月和年对data.frame进行分组,并使用summary函数来计算平均值。
monthly_summaries <- df %>% group_by(Year, Month) %>%
summarise(mean_temp = mean(temp))
这是month_summaries数据的前6行。
# Year Month mean_temp
# 2017 1 22.1
# 2017 2 24.6
# 2017 3 20.5
# 2017 4 25.7
# 2017 5 21.3
# 2017 6 23.4
同样,要获取年度平均值,请使用group_by函数按年份分组,并使用summary函数计算年度平均值。
yearly_summaries <- df %>% group_by(Year) %>%
summarise(mean_temp = mean(temp))
这是年度汇总数据。
#Year mean_temp
# 2017 23.0
# 2018 23.1
(或者,如果您不希望在data.frame中添加Month和Year列,则可以使用以下代码获得相同的输出:
monthly_summaries <- df %>% group_by(Year = year(date), Month = month(date)) %>%
summarise(mean = mean(temp))
yearly_summaries <- df %>% group_by(Month = month(date)) %>%
summarise(mean = mean(temp))
)