汇总日期的开始和结束

时间:2018-06-07 09:33:12

标签: r aggregate

我是R的新手,所以这可能很简单,但我还没有找到如何做到这一点。 我试图在白天汇总我的温度数据,所以我有一年中每一天的平均温度。

以下是我的数据和我编写的代码的示例:

         Date    Qobs   Ptot  Fsol Temp    PE X

1     1956-11-01 0.001  14.0  -99  12.0   1.4 NA
2     1956-11-02 0.001   0.0  -99  13.5   1.5 NA
3     1956-11-03 0.001   0.0  -99  13.5   1.5 NA
4     1956-11-04 0.001   0.0  -99  13.0   1.4 NA
5     1956-11-05 0.001   0.0  -99  11.5   1.3 NA
6     1956-11-06 0.001   0.0  -99  11.0   1.2 NA
7     1956-11-07 0.001   2.0  -99  12.5   1.3 NA
8     1956-11-08 0.000   0.0  -99   5.0   0.7 NA
9     1956-11-09 0.000   0.5  -99   0.0   0.4 NA
10    1956-11-10 0.000   0.0  -99  -2.5   0.2 NA
11    1956-11-11 0.000   2.5  -99   5.5   0.8 NA
12    1956-11-12 0.000   0.0  -99   7.5   0.9 NA

reg_T=aggregate(x=tmp_data$Temp, by=list(j=format(tmp_data$Date, "%j")), mean)

但是你可以看到我的数据没有启动第一个Januray,所以我的数据的第一天是01/11,这使得它在以后聚合时变得复杂。 如何在01/01聚合并定义开始并使其忘记数据的开头和结尾,因为它们不是完整的年份?

谢谢!

dput()数据:

df <- structure(list(Date = structure(c(-4809, -4808, -4807, -4806, -4805, -4804,
                                        -4803, -4802, -4801, -4800, -4799, -4798, -4797,
                                        -4796, -4795, -4794, -4793, -4792, -4791, -4790,
                                        -4789, -4788, -4787, -4786, -4785, -4784, -4783,
                                        -4782, -4781, -4780), class = "Date"),
                     Temp = c(12, 13.5, 13.5, 13, 11.5, 11, 12.5, 5, 0, -2.5, 5.5, 7.5,
                              1.5, 6, 14, 6, 0.5, 0.5, 4, 2, 9, -4.5, -11.5, -10, -4.5,
                              -2.5, -3.5, -1, -1.5, -7.5)),
                .Names = c("Date", "Temp"), row.names = c(NA, 30L), class = "data.frame")

1 个答案:

答案 0 :(得分:0)

这样的事情:

submit()