作者clansoda (小笨)
看板R_Language
標題[問題] 時間格式的賦予
時間Mon Apr 18 11:27:51 2016
我現在有一串時間格式,他讀進來是文字格式
因此我想轉成時間格式,我用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://webptt.com/m.aspx?n=bbs/R_Language/M.1460950075.A.0D2.html
1F:推 HeroNoah: strptime("Jan 5, 2016", "%b %d, %Y") 04/18 11:48
2F:推 HeroNoah: strptime("Jan 5, 2016", "%b %e, %Y") 04/18 11:54
3F:→ HeroNoah: R is very smart. 04/18 11:56
4F:→ Wush978: 之後就是時區的問題囉! 04/18 14:28
5F:→ clansoda: 痾 大大我複製您的兩行程式碼貼上也都是NA耶 04/18 15:08
7F:→ clansoda: 時區會有什麼樣的問題嗎? 我知道後面可以加TZ argument 04/18 15:13
8F:→ clansoda: 只是這個跟時區會有相關性嗎? 我google沒看到類似問題 04/18 15:13
10F:→ cywhale: NA because your locale, see ? strptime about %b 04/18 15:43
11F:→ cywhale: just look your Sys.getlocale() 04/18 15:44
12F:→ cywhale: and do Sys.setlocale(category="LC_TIME", locale="C") 04/18 15:44
13F:→ cywhale: and then you can get right ans of strptime(..,"%b..") 04/18 15:46
14F:→ clansoda: so appreciate for ur help,it does work. 04/18 15:56
15F:→ clansoda: 根據上面C大的說法,難道我這個台灣時區就不能看懂 04/18 15:56
16F:→ clansoda: 英文的月的縮寫嗎,這樣是否我每次都要重新設定時區呢? 04/18 15:57
17F:→ celestialgod: 英文月份只有十二個 資料量不大的話 手動parse時間 04/18 16:01
18F:→ celestialgod: 應該也很快 04/18 16:01
19F:→ clansoda: 是的C大,確實不耗時間,只是之前沒碰過這個問題 04/18 16:51
20F:→ clansoda: 原來我們的時區不支援英文的月份縮寫,所以感到有點訝異 04/18 16:52
21F:→ Wush978: 你講的不認得英文月份,應該是locale,你用Sys.setlocale 04/18 18:13
22F:→ Wush978: 去改一下應該就可以了 04/18 18:13
23F:→ Wush978: 時區會發生在hour <--> date的轉換時,會有點問題,要檢 04/18 18:13
24F:→ Wush978: 查 04/18 18:14