28229


Rを使っています。  
日時データが`"7/9/2016 10:01:58"`や`"12/19/2015
9:57:45"`という形になっていますが、月や日が1桁だったり2桁だったりで非常に扱いにくいです。`substr()`で年月日まで切り出したいのですが文字数が変化しうまく行きません。`"2016/07/09"`や`"2015/12/19"`のような形にしたいのですが、どのようにすればよいでしょうか。  
`"7"`→`"07"`や`"9"`→`"09"`とできれば`%m`や`%d`を使って組み替えられそうな気がしていますが、1桁→２桁が思いつかないです。


CC BY-SA 3.0
2016-08-12T13:03:16.353
28221
2016-08-26T20:42:23.420
2016-08-26T01:24:07.647
18598
12457
question
r
Rの日時データ編集について


lubridateパッケージを使うといい感じに処理してくれます。

[code]

    install.packages("lubridate")
    library(lubridate)
    
    lubridate::mdy_hms("7/9/2016 10:01:58", tz="Japan")
    [1] "2016-07-09 10:01:58 JST"
    
    lubridate::mdy_hms("12/19/2015 9:57:45", tz="Japan")
    [1] "2015-12-19 09:57:45 JST"
    
[/code]


CC BY-SA 3.0
2016-08-12T15:32:36.313
28229
2016-08-26T20:42:23.420
2016-08-26T20:42:23.420
18598
17070
28221
answer


`base` Rでもできます。POSIXctというクラス使おう：

[code]

    format(as.POSIXct("7/9/2016 10:01:58", tz = "Japan", format = "%m/%d/%Y %T"),
           "%Y/%m/%d")
    # [1] "2016/07/09"
    format(as.POSIXct("12/19/2015 9:57:45", tz = "Japan", format = "%m/%d/%Y %T"),
           "%Y/%m/%d")
    # [1] "2015/12/19"
    
[/code]

詳しくは`?POSIXct`, `?strptime`へ。


CC BY-SA 3.0
2016-08-25T22:07:33.483
28500
2016-08-26T13:50:48.103
2016-08-26T13:50:48.103
18598
18598
28221
answer