R时间序列每周平均值

我是R的新手,我正在尝试分别对狗狗币和狗狗币谷歌搜索(谷歌趋势)做一些时间序列分析 . 但是,如果您为Google趋势加载超过90天的数据,则会返回每周平均搜索量 . 然而,我的狗狗币数据是每天 . 然而,我的狗狗币数据是每天 . 我想把我的狗狗币数据作为每周的平均值(Mo-So) . 我一直在谷歌搜索如何做这个约一个小时,并不想平均连续7天 . 我希望得到周一到周日的平均值,就像我的谷歌趋势数据一样 . 有人可以帮我这么做吗?我应该先把它转换为ts吗?

回答(2)

2 years ago

如果我有一个 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))

2 years ago

尝试使用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)