1

StackOverflow ユーザーの皆様へ

for ループの実装に苦労しています。Time 列 (YMD-HMS 形式) を含むデータフレームと、粒子状物質データを含む別の列があります。さらに、開始と停止の瞬間を持つデータフレームがあります。

#TIMEPOINTS log

start <- c(ymd_hms("2020-03-06 19:43:00",
                   "2020-03-06 19:47:00",
                   "2020-03-06 19:53:00",
                   "2020-03-06 20:00:00",
                   "2020-03-06 20:13:00",
                   "2020-03-06 20:22:00",
                   "2020-03-06 20:32:00",
                   "2020-03-06 20:36:00",
                   "2020-03-06 20:42:00",
                   "2020-03-06 20:45:00",
                   "2020-03-06 20:49:00",
                   "2020-03-06 21:01:00",
                   "2020-03-06 21:04:00",
                   "2020-03-06 21:06:00",
                   "2020-03-06 21:09:00",
                   "2020-03-06 21:12:00"))

end <- c(ymd_hms("2020-03-06 19:46:00",
                 "2020-03-06 19:49:00",
                 "2020-03-06 19:55:00",
                 "2020-03-06 20:02:00",
                 "2020-03-06 20:15:00",
                 "2020-03-06 20:24:00",
                 "2020-03-06 20:34:00",
                 "2020-03-06 20:38:00",
                 "2020-03-06 20:44:00",
                 "2020-03-06 20:47:00",
                 "2020-03-06 20:51:00",
                 "2020-03-06 21:03:00",
                 "2020-03-06 21:06:00",
                 "2020-03-06 21:08:00",
                 "2020-03-06 21:11:00",
                 "2020-03-06 21:14:00"))

df <- data.frame(start, end)

このように、これらの特定のタイムポイントなしですべてのデータポイントを含む新しいデータフレームを作成したいと思います。(ただし、forloop を使用して、さまざまな開始点と終了点を反復処理するよりも)。

dat2 <- dat %>% .[.[["Time"]] >= df$start[1],] %>%
    .[.[["Time"]] <= df$end[1],]

これはforループを使用して実行できることを知っており、私の場合はそれを理解しようとしましたが、少し迷っています..

どんな助けでも大歓迎です!

4

1 に答える 1