2017-08-15 9 views
0

私は、従業員IDを含む列1を除いて、250カラムの日付と文字フォーマットを含むデータフレームを持っています。どのように私は1列以外のすべての列を日付形式に変換することができます。データフレームを日付フォーマットに変換する

1 1/5/2015 17:20 1/6/2015 17:19 1/7/2015 16:34 1/8/2015 17:08 
2 1/2/2015 18:22 1/5/2015 17:48 NA    1/7/2015 17:09 
3 1/2/2015 16:59 1/5/2015 17:06 1/6/2015 16:38 1/7/2015 16:33 
4 1/2/2015 17:25 1/5/2015 17:14 1/6/2015 17:07 1/7/2015 16:32 
5 1/2/2015 18:31 1/5/2015 17:49 1/6/2015 17:26 1/7/2015 17:37 
6 1/2/2015 20:29 1/5/2015 20:57 1/6/2015 21:06 1/7/2015 20:36 

上記の日付と従業員の時間は、文字形式です。

parse_date_time(df[,-1],"ymd_HMS")parse_date_time(df[,2:250],"ymd_HMS")

をやってみましたが、同じことは動作しません。しかし、1つの列だけを指定している間は構文は機能しています。実際には、各列を個別に指定することによって250コードに対して行うのは、悪いコーディングです。

答えて

0

strtime関数を適用して、文字値をdatetime値に変換します。 df[,2:250]はあなたが興味のある列だけがかかります

df[,2:250] <- as.data.frame(lapply(df[,2:250], strptime, format="%Y-%m-%d %H:%M:%S")) 

形式format="%Y-%m-%d %H:%M:%S"は、あなたのキャラクターのエントリの形式について説明します。文字の意味はhereです。

+0

ありがとうございました。これはうまくいった。私は構文をdf [、2:250] < - as.data.frame(lapply(df [、2:250]、strptime、format = "%Y-%m-%d%H: %M:%S ")) –

+0

@VikramRSそれに応じて変更しました – user3507584

関連する問題