【发布时间】:2020-03-10 04:12:30
【问题描述】:
我正在尝试根据 HOUR 来平均 RAIN。数据包括 1000 多个站点 24 小时记录的降雨量。每个 HOUR 有 4 个记录,但在某个地方它会变化为 1、2 或 3。我必须为每个 STATION 平均每个 HOUR 的 RAIN。示例数据如下:
STN, HOBLINAME, LATI, LONG_, RAINDATE, HOUR, RAIN
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 0, 3.5
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 0, 3
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 0, 3
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 0, 2.5
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 1, 0
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 1, 1
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 1, 2
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 2, 0
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 2, 0
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 2, 0
4471, Adagal (GP), 15.952089, 75.673282, 14-08-17, 2, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 0, 7.5
804, BADAMI, 15.919473, 75.683335, 14-08-17, 1, 7
804, BADAMI, 15.919473, 75.683335, 14-08-17, 1, 6.5
804, BADAMI, 15.919473, 75.683335, 14-08-17, 2, 6
804, BADAMI, 15.919473, 75.683335, 14-08-17, 2, 6
804, BADAMI, 15.919473, 75.683335, 14-08-17, 2, 5.5
804, BADAMI, 15.919473, 75.683335, 14-08-17, 2, 5
804, BADAMI, 15.919473, 75.683335, 14-08-17, 21, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 21, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 21, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 21, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 22, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 22, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 22, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 22, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 23, 0
804, BADAMI, 15.919473, 75.683335, 14-08-17, 23, 2
804, BADAMI, 15.919473, 75.683335, 14-08-17, 23, 2.5
804, BADAMI, 15.919473, 75.683335, 14-08-17, 23, 3
我试过了:
copy14 <- read.csv("/home/14copy.csv")
aggregate( RAIN ~ HOUR, copy14, FUN = mean )
但它并没有给出所有站点的所有特定小时的平均值(比如所有站点的 0 小时一起平均)。我想要的是每个站点分别每小时的平均值,即这里对于站点 4471 RAIN 必须单独平均,对于站点 804 单独平均。最后,我应该如何写出这个包含所有相关字段的最终平均值。
【问题讨论】:
-
请分享
dput(head(copy14))的输出 -
结构(列表(STN = c(4471L, 4471L, 4471L, 4471L, 4471L, 4471L), HOBLINAME = 结构(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = C(“Badami”,“Adagal(GP)”),class=“因子”),Lati = C(15.952089,15.952089,15.952089,15.952089,15.952089,152089,15.952089),Long_ = C(75.673282,75.673282,75.673282,75.673282,75.673282,75.673282,75.673282 , 75.673282, 75.673282), RAINDATE = 结构(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "14-08-17", class= "因子"), HOUR = c(0L, 0L , 0L, 0L, 1L, 1L), RAIN = c(3.5, 3, 3, 2.5, 0, 1)), row.names = c(NA, 6L), class= "data.frame")
-
aggregate( RAIN ~ STN + HOUR, copy14, FUN = mean )