簡體   English   中英

時間序列中的周日周百分比

[英]week day week-percent from time-series

我有一些每日時間序列數據,我需要提取相對於周均值的“周日百分比”。 例如,如果第一周的mean = 100 ,而本周的周日值為20,則星期日變為0.2。

這是一些隨機數據:

set.seed(0)
y = rnorm(1705)
date = seq(as.Date('2008-01-01'), by = 'day', length = length(y))
data.df = data.frame(y, date)

我需要一個稱為pecent的新列,它是上面解釋的值。 我嘗試添加一些列,然后使用tapply ,但是失敗了。 感謝任何幫助!

首先使用format創建一個week變量。 然后使用ddply進行transform

library(plyr)
data.df$week <- format(data.df$date,'%W %Y') #week begins with Monday
data.df <- ddply(data.df,~week,transform,percent=y/mean(y))
head(data.df)

           y       date    week    percent
1  1.2629543 2008-01-01 00 2008  3.1395415
2 -0.3262334 2008-01-02 00 2008 -0.8109741
3  1.3297993 2008-01-03 00 2008  3.3057095
4  1.2724293 2008-01-04 00 2008  3.1630952
5  0.4146414 2008-01-05 00 2008  1.0307451
6 -1.5399500 2008-01-06 00 2008 -3.8281172

請注意,第00周通常不像一年中的最后一周一樣是整周。 如果重要的話,請合並隨后幾年的最后和第一周。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM