首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >汇总时间序列数据

汇总时间序列数据
EN

Stack Overflow用户
提问于 2019-01-03 03:39:03
回答 1查看 267关注 0票数 0

我有一个数据文件,它有两列,日期和时间,我已经将它们转换为R中的日期和时间和葡萄糖列(如下所示)。数据每5分钟提供一次,我正在尝试获得超过24小时的平均值,然后从上午11点到上午6点和上午6点到晚上11点

我不知道如何编写代码来获取这些数据。我尝试了apply.daily语法来获得24小时的平均值,但它给了我一个错误。

数据示例:

代码语言:javascript
运行
复制
Datetime            Glucose
2018-03-07 23:01:04 154
2018-03-07 23:06:04 235
2018-03-07 23:11:04 232
2018-03-07 23:16:04 144
2018-03-07 23:21:04 134
2018-03-07 23:26:04 107
2018-03-07 23:31:04 108
2018-03-07 23:36:04 122
2018-03-07 23:41:04 143
2018-03-07 23:46:04 113
2018-03-07 23:51:04 115
2018-03-07 23:56:04 116
2018-03-08 00:01:04 117
2018-03-08 00:06:04 117
2018-03-08 00:11:04 114
2018-03-08 00:16:04 109
EN

回答 1

Stack Overflow用户

发布于 2019-01-03 04:23:07

data.table方法(带有自定义样本数据)

您可能必须更改定义周期的代码,因为您(我猜?)希望periode 23-06在第二天使用23到06 ...

示例数据

代码语言:javascript
运行
复制
library( data.table )

#create sample data
dt <- fread("Datetime            Glucose
2018-03-07T22:01:04 154
2018-03-07T22:06:04 235
2018-03-07T22:11:04 232
2018-03-07T23:16:04 144
2018-03-07T23:21:04 134
2018-03-07T3:26:04 107
2018-03-07T23:31:04 108
2018-03-07T23:36:04 122
2018-03-07T23:41:04 143
2018-03-07T23:46:04 113
2018-03-07T23:51:04 115
2018-03-07T23:56:04 116
2018-03-08T00:01:04 117
2018-03-08T00:06:04 117
2018-03-08T00:11:04 114
2018-03-08T00:16:04 109", header = TRUE)
dt[ , Datetime := as.POSIXct( Datetime, format = "%Y-%m-%dT%H:%M:%S" ) ]

代码

代码语言:javascript
运行
复制
#create period 6-23 and 23-6
dt[ , period := ifelse( hour( Datetime ) >= 23 | hour( Datetime ) < 6 , "eleven-six", "six-eleven" )]

#daily mean
dt[, .( mean.Glucose = mean( Glucose) ), by = .( day = as.Date( Datetime, tz = "" ) ) ][]
#           day mean.Glucose
# 1: 2018-03-07     143.5833
# 2: 2018-03-08     114.2500

#mean per period
dt[, .( mean.Glucose = mean( Glucose) ), by = .( day = as.Date( Datetime, tz = "" ), period ) ][]
#           day     period mean.Glucose
# 1: 2018-03-07 six-eleven     207.0000
# 2: 2018-03-07 eleven-six     122.4444
# 3: 2018-03-08 eleven-six     114.2500
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54012201

复制
相关文章

相似问题

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