首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将数据转换为xts会更改时间戳数据

将数据转换为xts会更改时间戳数据
EN

Stack Overflow用户
提问于 2019-03-23 00:32:16
回答 1查看 59关注 0票数 0

我目前正在研究土壤湿度,必须从我的时间序列数据中获得每小时和每天的平均值。

当我将dataframe转换为xts对象时,时间序列发生了变化,但我不知道原因。

数据框中的数据如下所示:

代码语言:javascript
运行
复制
  time                MC temp

1 2018-06-27 11:30:00 17.1 15.8

2 2018-06-27 11:45:00 17.0 15.8

3 2018-06-27 12:00:00 17.0 15.8

4 2018-06-27 12:15:00 17.0 15.9

5 2018-06-27 12:30:00 17.2 15.9

6 2018-06-27 12:45:00 17.0 16.0

但当我转换它时,时间戳从2018-01-09 00:00开始,并以5分钟为增量。这是我使用的代码:

代码语言:javascript
运行
复制
sm_xts <- xts(sm.data[,2:3], as.Date(sm.data$time))
sm_zoo <- read.zoo(sm.data, index.column = 1)
dat_xts <- as.xts(sm_zoo)

我已经将时间戳转换为as.POSIXct类,并检查了时间序列中的重复项。

代码语言:javascript
运行
复制
> anyDuplicated(sm.data$time)
[1] 0
EN

回答 1

Stack Overflow用户

发布于 2019-04-05 15:42:24

也许您在初始数据输入过程中遇到了一些问题。

代码语言:javascript
运行
复制
    df
#                  time   MC temp
# 1 2018-06-27 11:30:00 17.1 15.8
# 2 2018-06-27 11:45:00 17.0 15.8
# 3 2018-06-27 12:00:00 17.0 15.8
# 4 2018-06-27 12:15:00 17.0 15.9
# 5 2018-06-27 12:30:00 17.2 15.9
# 6 2018-06-27 12:45:00 17.0 16.0

现在,日期和时间值以char的形式存储在单个变量中

代码语言:javascript
运行
复制
str(df$time)
# chr [1:6] "2018-06-27 11:30:00" "2018-06-27 11:45:00" ...

让我们把它转换成真实的日期和时间,这样就不会丢失时间信息:

代码语言:javascript
运行
复制
strptime(df$time, "%Y-%m-%d %H:%M:%S")
# [1] "2018-06-27 11:30:00 EEST" "2018-06-27 11:45:00 EEST"
# [3] "2018-06-27 12:00:00 EEST" "2018-06-27 12:15:00 EEST"
# [5] "2018-06-27 12:30:00 EEST" "2018-06-27 12:45:00 EEST"

看起来很管用。时区可能出现的问题超出了本答案的范围。

现在,让我们将数据帧转换为xts。在完成的xts中,我们不需要符号形式的日期和时间。所以我们排除了第一列。

代码语言:javascript
运行
复制
df2xts <- xts(df[,2:3], order.by=strptime(df$time, "%Y-%m-%d %H:%M:%S"))
df2xts
#                 time   MC temp
# 1 2018-06-27 11:30:00 17.1 15.8
# 2 2018-06-27 11:45:00 17.0 15.8
# 3 2018-06-27 12:00:00 17.0 15.8
# 4 2018-06-27 12:15:00 17.0 15.9
# 5 2018-06-27 12:30:00 17.2 15.9
# 6 2018-06-27 12:45:00 17.0 16.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55304037

复制
相关文章

相似问题

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