如何在 [R] 中按天划分值

How to divide values by day in [R]

我有这样的数据。

spot3new<- aggregate(spot3$Price~spot3$Date, spot3, sum)


head(spot3new)
spot3$Date    spot3$Price
1 2011-01-01      -16.32
2 2011-01-02      861.11
3 2011-01-03     1381.69
4 2011-01-04     1497.08
5 2011-01-05     1228.44
6 2011-01-06     1226.26

在这里,我按日期汇总了每小时的价格。所以 24 小时的价格汇总在一起。现在我想将它们除以小时数以得出平均价格。 所以我这样做了。

spot3newD<- data.frame(spot3new$`spot3$Date`, spot3new$`spot3$Price`/24)

> head(spot3newD)
     spot3new..spot3.Date.    spot3new..spot3.Price..24
1            2011-01-01                  -0.68000
2            2011-01-02                  35.87958
3            2011-01-03                  57.57042
4            2011-01-04                  62.37833
5            2011-01-05                  51.18500
6            2011-01-06                  51.09417

但我意识到,在 48000 个观察结果中,有一些缺失值。因此,如果我除以 24,它不会产生 'daily average price',因为从我的数据中间的某个地方,价格会由于缺失值而被拉低或推高。 所以我不想分割我的数据by 24。我想把2015-12-31 到2011-01-02 每天的by date or days 分开,这样就不会算错了。

有人可以帮我语法吗?

非常感谢您。

如果你想计算日均值,你可以使用聚合函数,只要你有日期格式。

dailymean <- aggregate(Price ~ day(Date), data, mean, na.rm=T)

'day' 来自 'lubridate' 包的函数