2017-02-11 70 views
0

我有數據,看起來像這樣:從時間戳刪除日期部分中的R

timestamp      volume 
1 2013-10-29T00:00:00-05:00 650 
2 2013-10-29T00:15:00-05:00 778 
3 2013-10-29T00:30:00-05:00 683 
4 2013-10-29T00:45:00-05:00 723 

如何去消除之日起,(這部分2013-10-29T),使我的專欄看起來像這樣:

我使用lubridate不好受。謝謝!

 timestamp  volume 
1 00:00:00-05:00 650 
2 00:15:00-05:00 778 
3 00:30:00-05:00 683 
4 00:45:00-05:00 723 

回答

1

我們可以使用sub RO通過匹配的字符,直到T.*T刪除的日期部分包括T和空白(""

df1$timestamp <- sub(".*T", "", df1$timestamp) 
df1$timestamp 
#[1] "00:00:00-05:00" "00:15:00-05:00" "00:30:00-05:00" "00:45:00-05:00" 
1

取代它只需使用anytime()

R> library(anytime) 
R> pt <- anytime(c("2013-10-29T00:00:00-05:00", "2013-10-29T00:15:00-05:00", 
+     "2013-10-29T00:30:00-05:00", "2013-10-29T00:45:00-05:00")) 
R> pt 
[1] "2013-10-29 00:00:00 CDT" "2013-10-29 00:15:00 CDT" 
[3] "2013-10-29 00:30:00 CDT" "2013-10-29 00:45:00 CDT" 
R> format(pt, "%H:%M:%S") 
[1] "00:00:00" "00:15:00" "00:30:00" "00:45:00" 
R> 

如果你想添加的偏移量,你可以這麼做格式字符串:

R> format(pt, "%H:%M:%S-05:00") 
[1] "00:00:00-05:00" "00:15:00-05:00" "00:30:00-05:00" "00:45:00-05:00" 
R> 

一般情況下,我stronly通過對正則表達式處理的日期和時間建議。你基本上是總是有明確的類型的強類型更好。他們存在的原因是有的。