0

私はRでかなり新しいです。実際、時系列データがあり、1時間ごとに極値を決定したかったのです。さらに、データには温度と Date_time 列が含まれ、Data_time はタイムスタンプ形式です。抽出されたポイントには、ローカル ポイントとグローバル ポイントが含まれている必要があります。

テーブル名は p2 で、カラムは temperature と date_time です。

  temperature   date_time
1      0.34 2007-09-30 00:01:30
2      0.32 2007-09-30 00:03:30
3      0.26 2007-09-30 00:05:30
4      0.21 2007-09-30 00:07:30
5      0.14 2007-09-30 00:09:30
6      0.17 2007-09-30 00:11:30
7      0.16 2007-09-30 00:13:30
8      0.03 2007-09-30 00:15:30
9      0.02 2007-09-30 00:17:30
10     0.01 2007-09-30 00:19:30
11    -0.06 2007-09-30 00:21:30
12    -0.01 2007-09-30 00:23:30
13    -0.10 2007-09-30 00:25:30
14    -0.10 2007-09-30 00:27:30
4

1 に答える 1

1

これは、1 時間ごとにグローバルな極値を計算します。

p2$date_time <- as.POSIXct(df$date_time,tz="GMT")
p2$hours <- format(df$date_time,"%Y-%m-%d %H")
library(plyr)

p2_1 <- ddply(p2,.(hours),function(x) data.frame(min.pos=x$date_time[which.min(x$temperature)],
                                         min=min(x$temperature),
                                         max.pos=x$date_time[which.max(x$temperature)],
                                         max=max(x$temperature)))

          hours             min.pos   min             max.pos   max
1 2007-09-30 00 2007-09-30 00:41:31 -0.24 2007-09-30 00:01:30  0.34
2 2007-09-30 01 2007-09-30 01:01:31 -0.25 2007-09-30 01:05:31 -0.16
于 2012-12-20T09:35:56.750 に答える