私は何か非常にばかげていると思うが、の機能がには期待どおりに機能しない。R:lubridateのdst()が期待通りに動作しない
library(lubridate)
x <- c("2016-01-01", "2016-06-01")
dst(x) # Returns c(FALSE, TRUE)
dst(as.Date(x)) # Returns c(FALSE, FALSE)
どちらの場合でも期待した結果はc(FALSE, TRUE)
です。しかし、dst
に文字ベクタを渡して、Date
オブジェクトではない場合にのみ、期待される結果が得られます。私はOS Xを使用しています、私の現在のタイムゾーンはPST(America/Los_Angeles
)です。
c(NA, FALSE, TRUE)[as.POSIXlt(x)$isdst + 2]
as.POSIXlt
as.POSIXlt(x=, tz="")
...デフォルトでは、システムのタイムゾーンがかかります
こんにちはpbaylis、あなたが期待している結果を教えてください。 –
'dst(x)'は私のために 'c(FALSE、FALSE)'を返します。あなたは何タイムゾーンですか? 'dst(x)'はシステムタイムゾーンを使う 'as.POSIXlt(x)$ isdst'を呼び出します。 – thelatemail
私は 'c(FALSE、TRUE)'を期待しています。私はPSTにいます(それに応じて編集された質問)。 – pbaylis