我想将数据帧的以下列转换为 00:00:00 (HH:MM:SS) 和class of the output should be the "POSIXct" format.
这不是包含午夜的日期时间的 as.POSIXct的精确副本,因为这些时间不包括午夜。
这里是数据框的列。
> gg
[1] "2018-01-16 10:29:00 IST" "2018-01-16 10:29:00 IST"
[3] "2018-01-16 10:29:00 IST" "2018-01-16 10:29:00 IST"
[5] "2018-01-16 10:29:00 IST" "2018-01-16 10:29:00 IST"
Run Code Online (Sandbox Code Playgroud)
我厌倦了以下代码,它不能解决我的问题
paste(as.Date(gg, format="%Y-%m-%d"),"00:00:00")
[1] "2018-01-16 00:00:00" "2018-01-16 00:00:00" "2018-01-16 00:00:00"
[4] "2018-01-16 00:00:00" "2018-01-16 00:00:00" "2018-01-16 00:00:00"
Run Code Online (Sandbox Code Playgroud)
我需要输出的类应该在"POSIXct" "POSIXt"
所以我正在应用as.POSIXct
这里缺少00:00:00
as.POSIXct(paste(as.Date(gg, format="%Y-%m-%d"),"00:00:00"))
[1] "2018-01-16 IST" "2018-01-16 IST" "2018-01-16 IST" "2018-01-16 IST"
[5] "2018-01-16 IST" "2018-01-16 IST"
Run Code Online (Sandbox Code Playgroud)
所需格式为
[1] "2018-01-16 00:00:00 IST" "2018-01-16 00:00:00 IST"
[3] "2018-01-16 00:00:00 IST" "2018-01-16 00:00:00 IST"
[5] "2018-01-16 00:00:00 IST" "2018-01-16 00:00:00 IST"
Run Code Online (Sandbox Code Playgroud)
班级应该是"POSIXct" "POSIXt"
数据集
> dput(gg)
structure(c(1516078740, 1516078740, 1516078740, 1516078740, 1516078740,
1516078740), class = c("POSIXct", "POSIXt"), tzone = "")
Run Code Online (Sandbox Code Playgroud)
谢谢。
POSIX.ct有一个round方法
round(gg, units = "days")
Run Code Online (Sandbox Code Playgroud)
让它显示 00:00:00
format(round(gg, units = "day"), '%Y-%m-%d %M:%H:%S')
Run Code Online (Sandbox Code Playgroud)
Round 的优点是独立于语言环境。
| 归档时间: |
|
| 查看次数: |
1901 次 |
| 最近记录: |