R 循环日期以计算平均值

R 循环日期以计算平均值,r,for-loop,time-series,R,For Loop,Time Series,我有一个从2013年到2018年的数据框架,以及我正在研究的地点的每日降水量值。我想计算上述年份中每个日期的平均降水量。例如,2013年至2018年6月1日的平均降雨量。我将使用该日平均值,然后研究2013年至2018年平均日降水量的日偏差 这就是我的数据 我不知道如何为此编写循环,所以我没有任何代码可以显示 该循环的输出应该是一年中的日期列表,每个日期的长期平均值如下: Date (dd/mm) Mean 01-01 1.5 02-01 4.6

我有一个从2013年到2018年的数据框架,以及我正在研究的地点的每日降水量值。我想计算上述年份中每个日期的平均降水量。例如,2013年至2018年6月1日的平均降雨量。我将使用该日平均值,然后研究2013年至2018年平均日降水量的日偏差

这就是我的数据

我不知道如何为此编写循环,所以我没有任何代码可以显示

该循环的输出应该是一年中的日期列表,每个日期的长期平均值如下:

Date (dd/mm)    Mean
01-01           1.5
02-01           4.6
03-01             5
  .
  .
31-12            6

谢谢大家!

其他许多帖子都回答了这个问题。组合

  • 转换为日期,如中所述
  • 计算和/或中某列的平均值
  • 计算分组平均值,如中所述
  • 我会回答你的问题

    我假设您的dataTable实际上是一个
    data.table
    data.frame
    ,或者简称为data
    data
    。我将使用
    with
    ave
    函数提供
    base
    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)])]
    

    注意,由于没有可复制的数据,这些数据没有经过测试,因此可能会在某个地方出现打字错误

    不要添加屏幕截图,请
    dput
    df并将代码粘贴到问题中,这样就有了可复制的数据样本。