我是R的新手,试图分析来自HVAC传感器的时间序列数据。中的数据格式如下。在开始任何分析之前,我是否需要将其转换为ts()对象,或者我是否可以继续使用下面的相同结果:
Time | Value
1 7/6/16 4:45|28
2 7/8/16 4:51|31
3 7/6/16 5:10|26
4 7/6/16 5:10|26
5 7/6/16 5:11|26
6 7/6/16 5:11|26
str(dataset)
data.frame': 628 obs. of 2 variables:
$ Time : chr "7/6/16 4:45" "7/8/16 4:51" "7/6/16 5:10" "7/6/16 5:10" ...
$ Value: int 28 31 26 26 26 26 26 27 29 29 ... 现在,我是否需要将时间格式从字符更改为任何其他格式?当我运行以下代码时:
dataset$Time=as.POSIXct(as.character(dataset$Time),format="%Y-%m-%d %H:%M:%S")时间在数据集中变成了NA。
谢谢Dwiti
发布于 2016-10-03 18:23:22
试试这个(假设你有m/d/y格式的日期)
dataset$Time = strptime(as.character(dataset$Time),format="%m/%d/%y %H:%M")
head(dataset$Time,3)
[1] "2016-07-06 04:45:00 IST" "2016-07-08 04:51:00 IST" "2016-07-06 05:10:00 IST"发布于 2016-10-03 18:29:26
我们可以使用lubridate包中的紧凑选项mdy_hm
library(lubridate)
dataset$Time <- mdy_hm(dataset$Time)
dataset$Time
#[1] "2016-07-06 04:45:00 UTC" "2016-07-08 04:51:00 UTC"
#[3] "2016-07-06 05:10:00 UTC" "2016-07-06 05:10:00 UTC"
#[5] "2016-07-06 05:11:00 UTC" "2016-07-06 05:11:00 UTC"数据
dataset <- structure(list(Time = c("7/6/16 4:45", "7/8/16 4:51", "7/6/16 5:10",
"7/6/16 5:10", "7/6/16 5:11", "7/6/16 5:11"), Value = c(28L,
31L, 26L, 26L, 26L, 26L)), .Names = c("Time", "Value"), row.names = c(NA,
-6L), class = "data.frame")https://stackoverflow.com/questions/39829186
复制相似问题