私は複数レベルの構造を持っており、私がする必要があるのは、各個人 (より高いレベルのユニットであり、それぞれがいくつかの個別の対策を持っている) を標準化することです。
検討:
ID measure score
1 1 1 5
2 1 2 7
3 1 3 3
4 2 1 10
5 2 2 5
6 2 3 3
7 3 1 4
8 3 2 1
9 3 3 1
以前apply(data, 2, scale)
はすべての人に標準化していました (これは ID とメジャーも標準化しますが、それで問題ありません)。
ID == 1
ただし、 、 、ID == 2
および を個別に標準化するにはどうすればよいID == 3
ですか? --> 各observation
-mean of 3 scores
を で割ったものstandard deviation for 3 scores
)。
私はfor
ループを考えていましたが、問題はこれをブートストラップしたいということです (つまり、大きなデータセットに対して手順全体を 1000 回複製するため、速度が非常に重要です)。
追加情報: ID はさまざまな測定値を持つことができるため、すべての ID に 3 つの測定スコアがあるわけではありません。
dput
データのは次のとおりです。
structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L), measure = c(1L,
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), score = c(5L, 7L, 3L, 10L, 5L,
3L, 4L, 1L, 1L)), .Names = c("ID", "measure", "score"), class = "data.frame", row.names = c(NA,
-9L))