Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R从市场交易的完整历史记录中找出每日平均价格的小时平均差_R - Fatal编程技术网

R从市场交易的完整历史记录中找出每日平均价格的小时平均差

R从市场交易的完整历史记录中找出每日平均价格的小时平均差,r,R,我有一个表,列出了一段时间内一种证券在市场交易所的所有交易 Epoch Date Time Price 1.452033e+12 2016-01-05 14:37:38 0.00220556 1.452033e+12 2016-01-05 14:37:31 0.00220888 1.452033e+12 2016-01-05 14:37:15 0.00220888 我想看看价格和时间之间是否有联系。我的计划是取每天的平均价格,然后从当天的价格中减去它,得到平均

我有一个表,列出了一段时间内一种证券在市场交易所的所有交易

Epoch        Date       Time     Price
1.452033e+12 2016-01-05 14:37:38 0.00220556
1.452033e+12 2016-01-05 14:37:31 0.00220888
1.452033e+12 2016-01-05 14:37:15 0.00220888
我想看看价格和时间之间是否有联系。我的计划是取每天的平均价格,然后从当天的价格中减去它,得到平均价格的差额。然后,计算每个小时间隔的平均差值。然后,对于一天中24小时的每个时段,计算平均每小时平均差


到目前为止,我已经知道了如何使用tapply()获得每天的平均价格。我可以将
用于
循环,但我想学习在R中更简洁地执行循环的技巧。

使用dplyr包,您可以执行以下操作:

library(dplyr)
df %>% group_by(Date) %>% mutate(normalizedPrice = Price - mean(Price, na.rm = TRUE))
df %>% group_by(Date, hourOfDay) %>% mutate(normalizedDailyHourOfDayPrice = Price - mean(Price, na.rm = TRUE))
要按小时执行相同操作,您可以为“一天中的小时”添加一个新列,并执行非常类似的操作:

df$hourOfDay <- format(df$Time, '%H') # You will need time in POSIXct format
df %>% group_by(hourOfDay) %>% mutate(normalizedHourOfDayPrice = Price - mean(Price, na.rm = TRUE))

诸如此类……这样做有效吗?

如何安装软件包?我发现库中出现了
错误(dplyr):没有名为'dplyr'的包
您可以使用
install.packages(“dplyr”)
太棒了,它工作了!现在我知道如何把事情分组了。只有一个问题,为什么它在标题处显示数据类型?这是dplyr中的一个新功能,我认为这实际上是一件非常好的事情。:)