2016-12-14 37 views
0

気象データが不均等になっていて、簡単な時間単位の値を取得したいと思います。 「私は唯一の時間単位のデータを持っていると思いますが、あなたが観測ドンを見ることができるよう不均等に間隔を置いた時間データを均等に間隔を置いてRで変更する

> weather_df 
A tibble: 10 × 3 
       datetime temperature temperature_dewpoint 
       <dttm>  <dbl>    <dbl> 
1 2011-01-01 00:00:00   4     -1 
2 2011-01-01 00:20:00   3     -1 
3 2011-01-01 00:40:00   3     -1 
4 2011-01-01 01:00:00   2     -1 
5 2011-01-01 01:20:00   2     0 
6 2011-01-01 01:45:00   2     0 
7 2011-01-01 02:05:00   1     -1 
8 2011-01-01 02:25:00   2     0 
9 2011-01-01 02:45:00   2     -1 
10 2011-01-01 03:10:00   2     0 

:私はので、私は気象データの別々のdata.frame

例で、このデータアップに参加でき時給必要常に時間のマークに落ちる。私は丸めを試みましたが、同じ時間に複数の観測があります。

weather_df$datetime_rounded <- as.POSIXct(round(weather_df$datetime, units = c("hours"))) 

weather_df 
# A tibble: 10 × 4 
       datetime temperature temperature_dewpoint datetime_rounded 
      <dttm>  <dbl>    <dbl>    <dttm> 
1 2011-01-01 00:00:00   4     -1 2011-01-01 00:00:00 
2 2011-01-01 00:20:00   3     -1 2011-01-01 00:00:00 
3 2011-01-01 00:40:00   3     -1 2011-01-01 01:00:00 
4 2011-01-01 01:00:00   2     -1 2011-01-01 01:00:00 
5 2011-01-01 01:20:00   2     0 2011-01-01 01:00:00 
6 2011-01-01 01:45:00   2     0 2011-01-01 02:00:00 
7 2011-01-01 02:05:00   1     -1 2011-01-01 02:00:00 
8 2011-01-01 02:25:00   2     0 2011-01-01 02:00:00 
9 2011-01-01 02:45:00   2     -1 2011-01-01 03:00:00 
10 2011-01-01 03:10:00   2     0 2011-01-01 03:00:00 

Iはからdatetimeの差を計算することなく維持するためにどの観察容易に判断することができません。これを行うにはよりエレガントな方法が必要です。どんな助けもありがとう!

答えて

0

私の非優雅な解決策はここにあります。

Iはdatetime

weather_df$time_dist <- abs(weather_df$datetime - weather_df$datetimerounded) 

datetime_rounded間の絶対距離を算出それから距離

weather_df <- weather_df[order(weather_df$time_dist),] 

丸いカラムの除去重複によってソート。ソートされているので、ラウンドアワーに最も近い観測が維持されます。

weather_df <- weather_df [!duplicated(weather_df$datetimerounded),] 

はその後

weather_df <- weather_df [order(weather_df$datetimerounded),] 

は確かにこれを行うには良い方法がなければならない時間で戻ってソート。私はまだRの時系列で作業しているとはあまりよく知られていません。

関連する問題