我有列时间的数据集。它包括日期和时间。但是,我希望在单独的列中只有小时和分钟,然后用另一列绘制它。但是,我尝试使用:
today$Clock<- as.POSIXct(today$time, origin="%H:%M:%S")
today["Clock"] <- within(today$time, ISOdatetime(YY,MM,DD,hh,mm,0))
today$Clock<- strptime(x = as.character(today$time),
format = "%d/%m/%Y %H:%M")
并且没有任何工作......我要么获得NA或相同的日期值。
以下是我的一些数据集:
id fname uname time COUNT...
1 111449 o1 Name1 2015-03-03 16:14:32 1
2 100833 o1 Name2 2014-11-28 23:19:15 1
3 100834 o1 Name2 2014-11-28 23:20:52 1
4 100835 o1 Name3 2014-11-28 23:21:04 1
5 100921 o1 Name3 2014-11-30 00:55:56 1
6 100922 o1 Name3 2014-11-30 00:56:06 1
7 105983 o1 Name4 2014-12-25 01:22:42 1
8 108761 o1 Name5 2015-02-01 00:56:55 1
非常感谢。
答案 0 :(得分:0)
如果您只想提取小时和分钟,则无需创建类POSIXct
的变量。您只需使用substr
从字符串变量中提取相关时间部分
str <- c('2015-03-03 16:14:32',
'2014-11-28 23:19:15',
'2014-11-28 23:20:52',
'2014-11-28 23:21:04',
'2014-11-30 00:55:56',
'2014-11-30 00:56:06',
'2014-12-25 01:22:42',
'2015-02-01 00:56:55')
as.integer(substr(str, 12,13))
as.integer(substr(str, 15,16))