首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中时间序列数据中的时间戳转换

R中时间序列数据中的时间戳转换
EN

Stack Overflow用户
提问于 2016-10-03 18:11:37
回答 2查看 853关注 0票数 0

我是R的新手,试图分析来自HVAC传感器的时间序列数据。中的数据格式如下。在开始任何分析之前,我是否需要将其转换为ts()对象,或者我是否可以继续使用下面的相同结果:

代码语言:javascript
复制
 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 ... 

现在,我是否需要将时间格式从字符更改为任何其他格式?当我运行以下代码时:

代码语言:javascript
复制
dataset$Time=as.POSIXct(as.character(dataset$Time),format="%Y-%m-%d %H:%M:%S")

时间在数据集中变成了NA

谢谢Dwiti

EN

回答 2

Stack Overflow用户

发布于 2016-10-03 18:23:22

试试这个(假设你有m/d/y格式的日期)

代码语言:javascript
复制
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"
票数 0
EN

Stack Overflow用户

发布于 2016-10-03 18:29:26

我们可以使用lubridate包中的紧凑选项mdy_hm

代码语言:javascript
复制
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"

数据

代码语言:javascript
复制
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")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39829186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档