縦断的なデータセットscore
内で最高のものを特定しようとしています。ID
私のデータがこのように見えるとしましょう。
dfL <- data.frame(ID = c(1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 9L, 9L, 9L, 9L, 9L, 10L), week = c("baseline", 4L, 6L, "baseline", 6L, 9L, 9L, 12L, "baseline", 4L, 6L, 9L, 12L, "baseline"), score = c(NA, "A", "B", NA, "B", "E", "D", "C", NA, "B", "A", "A", "B", NA)); dfL
ID week score
1 1 baseline <NA>
2 1 4 A
3 1 6 B
4 4 baseline <NA>
5 4 6 B
6 4 9 E
7 4 9 D
8 4 12 C
9 9 baseline <NA>
10 9 4 B
11 9 6 A
12 9 9 A
13 9 12 B
14 10 baseline <NA>
私がやろうとしているのは、文字で表された最高スコアを見つけ、B を無視し、この文字をbaseline
for eachに配置することID
です。設計結果は次のようになります。
dfL$hi_score <- c("A", NA, NA, "E", NA, NA, NA, NA, "A", NA, NA, NA, NA, NA);dfL
ID week score hi_score
1 1 baseline <NA> A
2 1 4 A <NA>
3 1 6 B <NA>
4 4 baseline <NA> E
5 4 6 B <NA>
6 4 9 E <NA>
7 4 9 D <NA>
8 4 12 C <NA>
9 9 baseline <NA> A
10 9 4 B <NA>
11 9 6 A <NA>
12 9 9 A <NA>
13 9 12 B <NA>
14 10 baseline <NA> <NA>
これを解決する方法を知っている人のために、経時データの操作方法を学習するための優れたチュートリアルがある書籍または Web ページをお勧めできますか?