は1

2013-01-16 3 views
8

に日付と時刻のデータの2つの列を変換する私は、単純なデータフレームを持っている:は1

D <- c("2012/12/14", "2012/12/14") 
Time <- c("18:40:37", "18:40:48") 
df1 <- data.frame(D, Time) 

私はその日の形式で好ましい、一つに日付と時刻の情報の2つの列を組み合わせることを希望し、月、年、時間。

どうすればいいですか?

+0

TIMESTAMPのように? – duffymo

答えて

16
R> within(df1, { timestamp=format(as.POSIXct(paste(D, Time)), "%d/%m/%Y %H:%M:%S") }) 

      D  Time   timestamp 
1 2012/12/14 18:40:37 14/12/2012 18:40:37 
2 2012/12/14 18:40:48 14/12/2012 18:40:48 
+0

多くのおかげさまで@rcs - しかし、私のデータフレーム(df1)に、この結合された日付/時刻の列を持つ余分な列を取得するには? –

+0

多くの感謝 - それは完璧な@rcsです。 –

+3

私はこのコメントが2年遅れていることは知っていますが、答えは本当にdf1 < - within ... –

2

A若干短く選択肢は次のようになります。

df1 <- within(df1, { timestamp=strptime(paste(D, Time), "%Y/%m/%d%H:%M:%S") }) 
df1 
     D  Time   timestamp 
1 2012/12/14 18:40:37 2012-12-14 18:40:37 
2 2012/12/14 18:40:48 2012-12-14 18:40:48 
1
df1$TS <- as.POSIXct(paste(df1$D, df1$Time)) 

これは、日付と時刻を組み合わせたDF1における追加の列TSを作成し、型POSIXctのものであろう。あなたは確認できます

str(df1)