我有一个日期为2013年至2018年的数据框,其中包含我正在研究的位置的每日降水量值。我想计算上述年份中每个日期的平均降水量。例如,2013年至2018年6月1日的平均降水量。我将使用该日均值来研究与2013年至2018年的日均降水量的日偏差。
这就是我的数据 DataTable
我不知道如何为此编写循环,因此我没有任何代码可显示。
此循环的输出应为一年中的日期列表,每个日期都应具有长期平均值,如下所示:
Date (dd/mm) Mean
01-01 1.5
02-01 4.6
03-01 5
.
.
31-12 6
谢谢!
答案 0 :(得分:1)
许多其他帖子已经回答了这个问题。
的组合将回答您的问题。
我假设您的dataTable实际上是data.table
或data.frame
,或者简写为“ data
”。我将使用base
和with
函数提供一个ave
R版本,并使用其子设置选项为data.table
提供一个示例
library(lubridate)
library(data.table)
#Data frame way
with(data, ave(Vil_481690, #variable to calculate mean
year(Vil_dates), #which variables to group (can be any number of variables)
FUN = mean #already standard
))
#data.table way
setDT(data) #change data to a data.table
data[, mean(Vil_481690), by = year(Vil_dates)])]
请注意,由于没有可复制的数据,因此尚未经过测试,因此可能在一个地方或另一个地方有错字。