R时间序列每周平均值

时间:2018-12-10 10:53:16

标签: r time-series moving-average

我是R的新手,我想分别对Dogecoin和Dogecoin谷歌搜索(谷歌趋势)进行时间序列分析。但是,如果您为Google趋势加载了90天以上的数据,它将返回每周的平均搜索量。但是,我的狗狗币数据是每天的。 但是,我的狗狗币数据是每天的。 enter image description here 我想将我的Dogecoin数据作为每周的平均值(Mo-So)。 大约一个小时以来,我一直在搜索如何执行此操作,无法解决。 我已经在TTR库中尝试了SMA,但是我不希望平均连续7天。我想获取周一至周日的平均值,就像我对Google趋势数据的了解一样。 有人可以帮我吗? 我应该先将其转换为ts吗?

2 个答案:

答案 0 :(得分:0)

如果我有一个dput()示例,我可以对其进行测试,但是我认为这应该可行:

library(dplyr)
library(lubridate)
library(tidyr)

doge <- doge %>%
mutate(year = year(timestamp), month = month(timestamp), week = week(timestamp)) %>%
unite_("date", c("year", "month", "week"), sep ="-") %>%
group_by(date) %>%
summarise(mean_price_usd = mean(price_usd, na.rm = TRUE))

答案 1 :(得分:0)

尝试使用lubridate软件包:

library(package=lubridate)

# Set Weeks number. Doge already set as class `Date`
Week_ <- week(Doge)

# Aggregate over week number
aggregate(Price_usd~Week, FUN=mean, data=Week_, na.rm=TRUE)