【发布时间】:2017-01-10 06:57:04
【问题描述】:
部分数据如下:
head(my_data[,c(1,2)], 3)
Date Time
1 16/12/2006 17:24:00
2 16/12/2006 17:25:00
3 16/12/2006 17:26:00
顺便说一句,str() $Date, $Time 现在都是 chr。
我想以正确的格式将它们保存在两个列中,所以我使用
x <- as.Date(my_data$Date, "%d/%m/%Y")
获取日期格式的第一列:
x[1:5]
[1] "2006-12-16" "2006-12-16" "2006-12-16" "2006-12-16" "2006-12-16"
但是在第二列,当我尝试使用时
y <- strptime(my_data$Time, "%H:%M:%S")
输出会自动添加我电脑的默认日期和时区。
y[1:4]
[1] "2017-01-10 17:24:00 CST" "2017-01-10 17:25:00 CST"
[2] "2017-01-10 17:26:00 CST" "2017-01-10 17:27:00 CST"
如果我只想保持时间,没有日期和时区,我该怎么办?sub() 使用一些正则表达式是实现此目的的唯一方法吗?
【问题讨论】:
-
如果你想拥有一个纯时间对象,你需要一个定义了这样一个类的包。你可以使用包
chron。但是,我建议将日期和时间组合到POSIXct对象中。需要考虑闰年和闰秒等问题。