R-将每3小时的区块数据聚合为每周(熔化)

R-将每3小时的区块数据聚合为每周(熔化),r,aggregate-functions,google-cloud-messaging,melt,R,Aggregate Functions,Google Cloud Messaging,Melt,我试图从美国的全球环流模型(GCM)中计算最大值、最小值和平均值。2026-2045年和2081-2100年的数据以3小时为单位 样本数据: 我使用以下代码添加了datestring和weekdays: 插入日期变量 其中0,1,2…,6代表星期日,星期一 我的问题是,我一开始尝试汇总数据时是否有任何错误?但重要的是,如果有人帮助我将数据集从第一个星期一开始剪辑到最后一个星期天结束,我将不胜感激。多谢各位 我冒昧地格式化了示例data.frame-希望您不介意。请仔细检查以确保结构符合您的预期。

我试图从美国的全球环流模型(GCM)中计算最大值、最小值和平均值。2026-2045年和2081-2100年的数据以3小时为单位

样本数据: 我使用以下代码添加了datestring和weekdays:

插入日期变量 其中0,1,2…,6代表星期日,星期一


我的问题是,我一开始尝试汇总数据时是否有任何错误?但重要的是,如果有人帮助我将数据集从第一个星期一开始剪辑到最后一个星期天结束,我将不胜感激。多谢各位

我冒昧地格式化了示例data.frame-希望您不介意。请仔细检查以确保结构符合您的预期。
tmp1 <- structure(list(FIPS = c(1001L, 1003L, 1005L), X2026.01.01.1 = c(285.5533142, 
  285.5533142, 286.2481079), X2026.01.01.2 = c(283.4977112, 283.4977112, 
  285.0860291), X2026.01.01.3 = c(281.9733887, 281.9733887, 284.1548767
  ), X2026.01.01.4 = c(280.0234985, 280.0234985, 282.6075745), 
      X2026.01.01.5 = c(278.7125854, 278.7125854, 281.2553711), 
      X2026.01.01.6 = c(278.5204773, 278.5204773, 280.6148071)), .Names = c("FIPS", 
  "X2026.01.01.1", "X2026.01.01.2", "X2026.01.01.3", "X2026.01.01.4", 
  "X2026.01.01.5", "X2026.01.01.6"), class = "data.frame", row.names = c(NA, 
  -3L))
for (i in filelist) {
  tmp1 <- as.data.table(read.csv(i,header=T, sep=",")) 
  tmp2 <- melt(tmp1, id="FIPS")
  tmp2$year <- as.numeric(substr(tmp2$variable,2,5))
  tmp2$month <- as.numeric(substr(tmp2$variable,7,8))
  tmp2$day <- as.numeric(substr(tmp2$variable,10,11))
}
tmp2$date <- with(tmp2, ymd(sprintf('%04d%02d%02d', year, month, day)))
tmp2$day <- weekdays(as.Date(tmp2$date))

sample.tmp2 <- "FIPS         xdate     temp year month      day       date      dates weekdays
+ 5599311  1003 X2045.08.14.2 304.5995 2045     8   Monday 2045-08-14 2036-01-29        2
+ 468406  39093 X2045.01.19.7 267.8483 2045     1 Thursday 2045-01-19 2028-06-04        0
+ 5022078 21167 X2045.07.21.8 314.6772 2045     7   Friday 2045-07-21 2035-09-13        4
+ 186822   9005 X2045.01.08.5 269.0803 2045     1   Sunday 2045-01-08 2037-06-28        0
+ 3998678 13295 X2045.06.10.7 307.2408 2045     6 Saturday 2045-06-10 2033-10-13        4"

Data <- read.table(text=sample.tmp2, header = TRUE)
length(which(weekdays == '0'))