2013-01-16 68 views
8

我有一個簡單的數據幀:轉換日期和時間數據的兩列一個

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

我要的日期和時間信息的兩列日的格式合併成一個,最好,月,年,時間。

我該怎麼做呢?

+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

我知道這個評論晚了兩年,但答案應該是df1 < - 在...內 –

2

甲稍短替代可能是:

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) 
相關問題