"markr"変数があり、corr変数に "markr"の後続メンバー間の相関があります。隣接関係を使用した順序付き要素のグループ化変数R
markrのメンバーの順序を変更することなく、corrに基づいてmarkrをグループ化する必要があります。
0.95より大きいCORRを有していて惨めなmarkrの個々のメンバーが1つのグループになります。グループは、より良い図を以下により説明することができます。 corrが0.95未満に低下したときの最初の値から開始し、2番目のグループが開始し、corrが0.95未満に再び低下するまで処理が続行され、プロセスはデータの最後まで続きます。グループ変数は、グループ内の最初と最後のメンバー、たとえば-A-g、A1-f、gg-kによって命名されます。
期待される出力はです。
markr <- c("A", "B", "C", "D", "E", "g",
"A1", "B1", "cc", "dd", "f",
"gg", "h", "K")
group <- c("A-g", "A-g", "A-g", "A-g","A-g", "A-g",
"A1-f", "A1-f", "A1-f", "A1-f","A1-f",
"gg-k", "gg-k", "gg-k")
dataf <- data.frame (markr, group)
dataf
markr group
1 A A-g
2 B A-g
3 C A-g
4 D A-g
5 E A-g
6 g A-g
7 A1 A1-f
8 B1 A1-f
9 cc A1-f
10 dd A1-f
11 f A1-f
12 gg gg-k
13 h gg-k
14 K gg-k
私はこのようなデータセットを非常に大きくしているので、どのようにこのプロセスを自動化できますか?あなたがグループごとに、片に切断を1つずつdata.frameをddply
使用することができ、グループ名について
d1 <- data.frame(
marker = markr,
group = cumsum(c(1, corr < .95))
)
:
:http://stackoverflow.com/questions/8936164/incrementing-an-id-number-each-time-a-condition-is-met –