如何在 [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' 包的函数
我有这样的数据。
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' 包的函数