我有一個像格式化時間strptime時有時失蹤,AM/PM轉換到24小時格式
time_stamp <- c("7/1/2013", "7/1/2013 12:00:30 AM", "7/1/2013 12:01:00 AM", "7/1/2013 12:01:30 AM", "8/1/2013","8/1/2013 11:02:30 PM")
我想這種格式Date類時間戳載體。我試圖
strptime(time_stamp, format = "%d/%m/%Y %H:%M:%S", tz = "GMT")
但由於兩個時間戳都有缺失的時候,它會導致NA
s,這應該是默認取代:12:00:00。
我可以運行一個循環,例如:
for (i in 1:length(time_stamp))
{
if(nchar(time_stamp[i])<11)
{
time_stamp[i] <- paste(time_stamp[i], " 12:00:00 AM")
}
}
time_stamp <- format(strptime(time_stamp, format = "%d/%m/%Y %I:%M:%S %p", tz = "GMT"), "%d/%m/%Y %H:%M:%S", tz = "GMT")
是否有更快,做到這一點更清潔的方式?矢量是大數據集的一部分,所以我不想循環它。
謝謝!您能否解釋在上下文中使用的正則表達式? – discipulus
@discipulus - 它基本上只是用'4'數字'\\ 1'加上'00:00:00'替換代表年份'd {4}'的最後4位數字, – thelatemail