【发布时间】:2018-08-28 17:15:36
【问题描述】:
我正在尝试使用聚合函数将 100 Hz 数据转换为 1 分钟平均值。然而,当我使用这个函数时,1 分钟的平均值是不正确的。数据示例如下。我正在使用以下代码来计算 1 分钟的值。代码没有中断,但计算不正确。
aggregate(list(X = df$`Gyroscope X`,
Y = df$`Gyroscope Y`,
Z = df$`Gyroscope Z`),
list(minofday = cut(df$Timestamp, "1 min")),mean)
Timestamp Gyroscope X Gyroscope Y Gyroscope Z
2018-07-10T10:25:00.0000000 41.381838 -21.667482 -118.896492
2018-07-10T10:25:00.0100000 48.046268 -12.399903 -110.917976
2018-07-10T10:25:00.0200000 49.102786 -7.36084 -106.485602
2018-07-10T10:25:00.0300000 44.338382 -9.215699 -102.296759
2018-07-10T10:25:00.0400000 34.724123 -11.308594 -96.108404
2018-07-10T10:25:00.0500000 19.622804 -15.225221 -88.122564
2018-07-10T10:25:00.0600000 13.240968 -26.539308 -85.274663
2018-07-10T10:25:00.0700000 13.397218 -31.933596 -80.127568
2018-07-10T10:25:00.0800000 16.333009 -29.663088 -73.027348
2018-07-10T10:25:00.0900000 17.384645 -29.745485 -67.694096
2018-07-10T10:25:00.1000000 16.546632 -30.08423 -67.565922
【问题讨论】:
-
您的数据不会按分钟变化,那么您的预期输出是否只有一行,所有行的平均值?你的代码得到了什么输出?你的预期输出是什么?
-
首先,您知道您的 d$Timestamp 的类/类型是什么吗?它会影响行为。