2016-09-27 43 views
1

我正在爲我的Arima模型準備一個xreg系列,我將在一個月內使用它的一些週末。我可以找到一年的結果,但是當它超過一年時,通常是,我找不到方法。
這是我到目前爲止所做的。R中的一個月中的週末

dates <- seq(from=as.Date("2001-01-01"), to=as.Date("2010-12-31"), by = "day") 
wd <- weekdays(dates) 
aylar <- months(dates[which(wd == "Sunday" | wd == "Satuday")]) 

table(aylar) 

我要的是收集所有個月的週末不是僅基於個月,但也多年什麼。這樣我就可以和我的原始預測系列擁有相同的系列了。

+0

你知道包'chron'中函數'is.weekend()'嗎? –

+0

沒有。如果是週末,我認爲它會變成真。但是,我仍然可以如何根據年份和月份來組織它們? –

回答

1

這裏是我的解決方案:

library(chron) 
library(dplyr) 
library(lubridate) 

month <- months(dates[chron::is.weekend(dates)]) 
day <- dates[chron::is.weekend(dates)] 

# create data.frame 
df <- data.frame(date = day, month = month, year = chron::years(day)) 

df %>% group_by(year, month) %>% summarize(weekends = floor(n()/2)) 

# year month weekends 
# <dbl> <fctr> <dbl> 
#1 2001 April  4 
#2 2001 August  4 
#3 2001 Dezember  5 
#4 2001 Februar  4 
#5 2001 Januar  4 
#6 2001  Juli  4 
#7 2001  Juni  4 
#8 2001  Mai  4 
#9 2001  März  4 
#10 2001 November  4 
## ... with 110 more rows 

我希望這是對你的工作的起點。

+1

我希望我們美國人拼寫它「Dezember」。這看起來比12月更冷。 – Dason

+0

「Marz」也很酷我覺得。 :)和年=年(日)我假設。它似乎工作。謝謝。 :)這是什麼語言btw? –

+0

錯誤:找不到函數「年份」。我做了很多年,並且工作。在土耳其,幾乎所有的高中都有一年制德語基礎課,但不是我的。 :) –