从NC文件中提取月度和年度温度数据

时间:2019-01-28 16:08:44

标签: r mapping extraction netcat temperature

我已经下载了一个包含长期(viewDidLayoutSubviews())温度数据的NC文件,我想使用1992-01-01 to 2016-12-31将平均每月和每年的温度提取到空间TIFF文件中,以便随后提取平均值我有一个Excel数据集中的月度温度数据,但我不知道如何。可以从here访问数据。

如果有人可以帮助我进行适当的编码。

使用此代码,我试图打开并查看数据:

R

1 个答案:

答案 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))