2017-04-10 9 views
0

Rバージョン3.2.2を使用しているので、タイムスタンプを "%Y% M%のD%のHの%のM%以下のコードでのmutate使用S」(例えば、 "20131227185208"):フォーマットが "%Y%m%d%H%M%S"のmutate内で使用するためのR strptime相当

library("dplyr") 
df <- data_frame(DTHR_EVENT="20131227185208") 
mutate(df, DTHR_EVENT = strptime(DTHR_EVENT, "%Y%m%d%H%M%S")) 

...しかし、これは、次のエラー発生:のmutateの外

Error: mutate does not support POSIXlt results

を、strptimeはこのようにうまく機能します:

> strptime("20131227185208", "%Y%m%d%H%M%S") 
[1] "2013-12-27 18:52:08 EST" 

しかし、私はそれを便利な方法で新しいものに列のすべての値を変換するmutateとそれを適用する必要があります...あなたが変異よりも良い方法があれば、私は任意の提案を歓迎します。レコードの

、私はまた、次の代替案を試してみましたが、それぞれが異なった失敗:

df <- mutate(df, DTHR_EVENT = as.Date.POSIXlt(DTHR_EVENT, "%Y%m%d%H%M%S")) 

Error: invalid 'x' argument

df <- mutate(df, DTHR_EVENT = as.POSIXct(DTHR_EVENT, format="%Y%m%d%H%M%S", origin="EST5EDT")) 
==> DTHR_EVENT all set to NA 

答えて

1

だけPOSIXct

mutate(df, DTHR_EVENT = as.POSIXct(strptime(DTHR_EVENT, "%Y%m%d%H%M%S"))) 

POSIXlt data.typeを変換するにはthis github issue

を参照してください
関連する問題