我需要一個包含一週的天經常一個載體,但我總是鍵入出來:如何創建一個包含星期幾的矢量?
days.of.week <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
這是很容易的,因爲它是短暫的,但總有錯別字的可能性。有沒有辦法通過編程創建一個包含星期幾的矢量?
我需要一個包含一週的天經常一個載體,但我總是鍵入出來:如何創建一個包含星期幾的矢量?
days.of.week <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
這是很容易的,因爲它是短暫的,但總有錯別字的可能性。有沒有辦法通過編程創建一個包含星期幾的矢量?
你去那裏,平日的載體「星期一」,......,「星期天」:
days.of.week <- weekdays(x=as.Date(seq(7), origin="1950-01-01"))
一種可能性:
days.of.week <- weekdays(Sys.Date()+0:6)
總是從星期一開始:
days.of.week <- weekdays(as.Date(4,"1970-01-01",tz="GMT")+0:6)
或者你可以把它定義爲你,但在你的.Rprofile
,所以它總是可以在啓動時。
這個矢量會根據你運行的這一天改變嗎? – outis 2013-04-24 13:47:55
訂單會發生變化,它始終始於今天的一週中的某一天。 – 2013-04-24 13:49:20
是的,如果您需要它,只需將開始日期更改爲總是星期一。 – 2013-04-24 13:49:33
雖然基於函數的答案是光滑的,約書亞的最後的評論是點上。如果您有定期使用的變量,請在.Rprofile
中創建它,或從.Rdata
文件加載它,使用.Rprofile
中的某行(如load('daysofweek.rdata')
)。
請注意,更改一週的第一天是那樣簡單
neworder <- days.of.week[c(2:7,1)]
基於今天的日期,我們還可以找到一個星期的日子
weekdays(as.Date(seq(7),origin=Sys.Date() - as.POSIXlt(Sys.Date())$wday))
[1] "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
[7] "Sunday"
這樣做的一個很好的屬性使用R函數是它考慮了語言環境,例如法語平日在法語區域。 – 2013-04-24 13:52:05