[問題] 時間格式的賦予

看板R_Language作者 (小笨)時間8年前 (2016/04/18 11:27), 編輯推噓3(3021)
留言24則, 5人參與, 最新討論串1/1
我現在有一串時間格式,他讀進來是文字格式 因此我想轉成時間格式,我用strptime function來告訴她要怎麼讀 這個時間格式像是Jan 5, 2016 這樣的類型 第二個天的值會有個位數 因此我用strptime(%b %e, %Y) 但是跑出來都是NA 我換成(%b %d, %Y)跑也是一樣,我的認知是%d的個位數值應該會是01 02 這樣有0的格式,%e則是1-31 這樣無0的格式 其他是有空白就要空白有其他符號 就要告訴R有其他符號,如-或,這樣的符號。請問各位大大,我哪裡寫錯了導致R不知道 不知道這個時間變數如何讀入。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.236.223 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1460950075.A.0D2.html

04/18 11:48, , 1F
strptime("Jan 5, 2016", "%b %d, %Y")
04/18 11:48, 1F

04/18 11:54, , 2F
strptime("Jan 5, 2016", "%b %e, %Y")
04/18 11:54, 2F

04/18 11:56, , 3F
R is very smart.
04/18 11:56, 3F

04/18 14:28, , 4F
之後就是時區的問題囉!
04/18 14:28, 4F

04/18 15:08, , 5F
痾 大大我複製您的兩行程式碼貼上也都是NA耶
04/18 15:08, 5F

04/18 15:12, , 6F
這是我的螢幕截圖
04/18 15:12, 6F

04/18 15:13, , 7F
時區會有什麼樣的問題嗎? 我知道後面可以加TZ argument
04/18 15:13, 7F

04/18 15:13, , 8F
只是這個跟時區會有相關性嗎? 我google沒看到類似問題
04/18 15:13, 8F

04/18 15:27, , 9F

04/18 15:43, , 10F
NA because your locale, see ? strptime about %b
04/18 15:43, 10F

04/18 15:44, , 11F
just look your Sys.getlocale()
04/18 15:44, 11F

04/18 15:44, , 12F
and do Sys.setlocale(category="LC_TIME", locale="C")
04/18 15:44, 12F

04/18 15:46, , 13F
and then you can get right ans of strptime(..,"%b..")
04/18 15:46, 13F

04/18 15:56, , 14F
so appreciate for ur help,it does work.
04/18 15:56, 14F

04/18 15:56, , 15F
根據上面C大的說法,難道我這個台灣時區就不能看懂
04/18 15:56, 15F

04/18 15:57, , 16F
英文的月的縮寫嗎,這樣是否我每次都要重新設定時區呢?
04/18 15:57, 16F

04/18 16:01, , 17F
英文月份只有十二個 資料量不大的話 手動parse時間
04/18 16:01, 17F

04/18 16:01, , 18F
應該也很快
04/18 16:01, 18F

04/18 16:51, , 19F
是的C大,確實不耗時間,只是之前沒碰過這個問題
04/18 16:51, 19F

04/18 16:52, , 20F
原來我們的時區不支援英文的月份縮寫,所以感到有點訝異
04/18 16:52, 20F

04/18 18:13, , 21F
你講的不認得英文月份,應該是locale,你用Sys.setlocale
04/18 18:13, 21F

04/18 18:13, , 22F
去改一下應該就可以了
04/18 18:13, 22F

04/18 18:13, , 23F
時區會發生在hour <--> date的轉換時,會有點問題,要檢
04/18 18:13, 23F

04/18 18:14, , 24F
04/18 18:14, 24F
文章代碼(AID): #1N55Gx3I (R_Language)