を変換するI持って、次のtibble:長い形式の時系列と、複数の重複状態
- は私がの全期間を表す1つの行を取得するように私は、この時系列に変換することができますどのよう
library(tidyverse) dput(test2) structure(list(Cat2 = structure(c(3L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("A", "B", "NADA"), class = "factor"), start = c(0, 94, 95, 98, 98, 98, 101, 104, 105, 106, 108, 108, 112, 112, 114, 114, 117, 119, 119, 120, 120, 123, 123, 125, 128, 128, 131, 131, 134, 134, 137, 137, 139, 141, 141, 153, 155, 156), end = c(94, 95, 98, 98, 98, 101, 104, 105, 106, 108, 108, 112, 112, 114, 114, 117, 119, 119, 120, 120, 123, 123, 125, 128, 128, 131, 131, 134, 134, 137, 137, 139, 141, 141, 153, 155, 156, 157)), .Names = c("Cat2", "start", "end"), row.names = c(NA, -38L), class = c("tbl_df", "tbl", "data.frame" ))
Cat2の状態。今、私は95から98まで実行している状態Aの3行を持っています
- 行Aと行Bの開始と終了が重複する場合、私は新しい状態(A、B)を得ます
- 期間超えた行の6
の予想される出力ここ
NADA 0 94
A 94 98
A,B 98 98
B 98 114
NADA 114 119
B 119 141
NADA 141 153 ###because of long B duration
B 153 157
期待を示してください。出力 – akrun