2017-01-13 8 views
2

私は次のコードでの日付の間のすべての営業日のベクトルを取得しようとしている:Rのsetdiff機能は奇妙な結果につながる

days_of_month = seq(as.Date("2017-01-01"), as.Date("2017-01-31"), by="days") 
sundays = c(as.Date("2017-01-01"), as.Date("2017-01-08"), as.Date("2017-01-15"), as.Date("2017-01-22"), as.Date("2017-01-29")) 

私が行うと:

working_days = setdiff(days_of_month, sundays) 

setdiffの戻り値は、奇妙な値のベクトルである:

[1] 17168 17169 17170 17171 17172 17173 17175 17176 17177 17178 17179 17180 
[13] 17182 17183 17184 17185 17186 17187 17189 17190 17191 17192 17193 17194 
[25] 17196 17197 

これらの値は何ですか?そして、私はdays_of_monthにあるが、sundaysにはない日のベクトルをどうやって得るのだろうか?

+1

おそらく 'as.Date(setdiff(日曜日、日曜日)、起点=" 1970-01-01 ")'?ベータ版を改訂したいと思います。それは動作していません。 – jazzurro

+1

これらの奇妙な値は、単純に1970-01-01(デフォルトの起点)からの日数です。 – Haboryme

+1

'days_of_month [%day in%sundays]' –

答えて

1

これらは、R S3 class Dateの内部数値です。数値はas.numeric(days_of_month)で表示されます。または、結果をDateas.Date(working_days, origin="1970-01-01")に変換することができます。