如何解决不要如何转换为类“ POSIXct”
我正在尝试将字符串转换为POSIXct,以便使用lubridate将时间四舍五入到最近的四分之一小时。下面是代码:
x <- c("8:00","14:47","21:13","01:47","00:19")
x <- paste0(x,":00")
x <- chron(times. = x)
as.POSIXct(x,"%H:%M:%S")
我得到以下内容
as.POSIXct.default(x,“%H:%M:%S”)中的错误: 不知道如何将“ x”转换为“ POSIXct”类
解决方法
您可以将时间转换为分钟,然后round
将其转换为整整十五分钟,然后将数字时间转换为POSIXct
。最后,strftime
为您提供了所需的格式。
x <- c("8:00","14:47","21:13","01:47","00:19")
tmp <- t(sapply(strsplit(x,":"),as.numeric))
minutes <- tmp[,2] + tmp[,1]*60
strftime(as.POSIXct((round(minutes/15)*15)/(15*4)*60^2,origin=Sys.Date(),tz="GMT"),"%H:%M:%S",tz="GMT")
# [1] "08:00:00" "14:45:00" "21:15:00" "01:45:00" "00:15:00"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。