as.Date不保留R中的小时和分钟信息

时间:2014-01-28 03:30:43

标签: r date posixct

我在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

谢谢。

1 个答案:

答案 0 :(得分:6)

您需要日期时间类,例如POSIXct(或扩展形式POSIXlt),而不是日期。请参阅help(DateTimeClasses)

Date丢弃小时和分钟相当于说整数丢弃小数点后的部分 - 这就是重点。 [事实上,日期通常表示为整数,但这也是不同的,因为它实际上是分数天,但我离题了。 ]

简而言之,如果您没有日内信息,请使用Date。在所有其他情况下,请使用POSIXct