我在csv中读到了一个数据框,如下所示:
data <- read.csv("Prices.csv", stringsAsFactors = FALSE) data$Timestamp <- as.POSIXct(data$Timestamp, format="%m/%d/%y %H:%M")
我尝试使用下面但是删除了小时和分钟数据这是我的问题.如何与as.Date一起使用但保留所有信息?
data$Timestamp <- as.Date(data$Timestamp, format="%m/%d/%y %H:%M")
这是使用上面的as.POSIXct命令的数据$ Timestamp看起来很好:
head(data$Timestamp) [1] "2013-11-01 09:31:00 EDT" "2013-11-01 09:32:00 EDT" "2013-11-01 09:34:00 EDT" "2013-11-01 09:35:00 EDT" [5] "2013-11-01 09:36:00 EDT" "2013-11-01 09:37:00 EDT"
这是原始csv文件中的一些数据点:
Timestamp 11/1/13 9:31 11/1/13 9:32 11/1/13 9:34 11/1/13 9:35 11/1/13 9:36 11/1/13 9:37
谢谢.
您需要Datetime类,如POSIXct
(或扩展形式POSIXlt
),而不是Date.见help(DateTimeClasses)
.
说Date
丢弃小时和分钟相当于说整数丢弃小数点后的部分 - 这就是重点.[事实上,日期通常表示为整数,但这也是不同的,因为它实际上是分数天,但我离题了.]
简而言之,如果您没有日内信息,请使用Date
.在所有其他情况下,使用POSIXct
.