24

重複の可能性:
Rで曜日を見つける

2011 年 11 月 1 日などの日付のデータがありますが、月曜日、火曜日などの日付に対応するデータを追加したいのですが、日付と日付の情報を含む R パッケージはありますか?

4

3 に答える 3

69
weekdays(as.Date('16-08-2012','%d-%m-%Y'))
[1] "Thursday"
于 2012-08-16T07:02:33.673 に答える
20

lubridateパッケージは、この種のものに最適です。

> wday(as.Date('16-08-2012','%d-%m-%Y'))
[1] 5
> wday(as.Date('16-08-2012','%d-%m-%Y'), label=TRUE)
[1] Thurs
Levels: Sun < Mon < Tues < Wed < Thurs < Fri < Sat
> wday(as.Date('16-08-2012','%d-%m-%Y'), label=TRUE, abbr = FALSE)
[1] Thursday
Levels: Sunday < Monday < Tuesday < Wednesday < Thursday < Friday < Saturday
于 2012-08-16T11:13:00.727 に答える
10

独自のライブラリまたはルーチンを作成するための情報を次に示します。

定数:

day_of_month

    the day of the month
    e.g. if input mm-dd-yyy then dd

:

march = 1
april = 2
may = 3
...

yy[yy]  (last to digits from yyyy)
   *subtract 1 if month jan or feb
    e.g. if input date is 02-01-2012 (mm-dd-yyyy)
         year =  (12-1) = 11

世紀

[yy]yy  (first two digits from yyyy)
     e.g. if input year is 2012 then 20 = century
     * year 2000, 1900, ... are 20-1, 19-1 respectively

アルゴリズム

step1: floor(century / 4)

step2: year

step3: floor(year/4)

step4: floor(month*2.6 -0.2)  #this is the leap year correction

step5: day_of_month

step6: add step1...step5

step7: divide by 7  # modulo 7 in codespeak

step8: the remainder is the day of the week

結果を解釈するには:

Sun = 0, Mon = 1, Tues = 3, etc..

図書館ではありませんが、公共サービスのジングルが流れると...

「読む: 知れば知るほど」

参照: http://bit.ly/PqF0M0

于 2012-08-16T05:59:09.647 に答える