如何计算15年的日平均值?

时间:2015-12-29 10:12:46

标签: r

我有15 years from 1993 to 2008的每日数据。我想基于以感兴趣的当天为中心的31天窗口计算一年中每一天的文件中变量Open的每日平均值。因此,15⨯31 = 465 dates有助于统计一天。

在15年中,输出只是365个值

该文件可以从这里下载: http://chart.yahoo.com/table.csv?s=sbux&a=2&b=01&c=1993&d=2&e=01&f=2008&g=d&q=q&y=0&z=sbux&x=.csv 并且可以阅读:

 df = read.csv("C:/data/table.csv", header = TRUE, stringsAsFactors = FALSE)

1 个答案:

答案 0 :(得分:1)

library(data.table)

df <- as.data.table(read.csv('http://chart.yahoo.com/table.csv?s=sbux&a=2&b=01&c=1993&d=2&e=01&f=2008&g=d&q=q&y=0&z=sbux&x=.csv',header = TRUE, stringsAsFactors = FALSE))

df[, MAOpen := filter(Open, rep(1, 31) / 31)]
df[, Date := as.POSIXct(Date)]
df[, YDay := yday(Date)]

df[, mean(MAOpen), by = YDay]