0
を追加し、私は、次のコードを持っているし、出力が100%正しくないように私はそれを調整する必要があります。グループの行と新しい列
df = read.table(text='colA colB colC
10 11 7
10 34 7
10 89 7
10 21 7
9 8 0
9 11 0
9 21 0
2 23 5
2 21 5
2 56 5
1 45 0
1 23 0
22 14 3
22 19 3
22 90 3
11 19 2
11 45 2
80 13 2
80 17 2
99 15 1
55 20 1', header = TRUE)
df$ID <-NA
df[1,'ID']<-1
val=1
for (i in 2:nrow(df)){
if (df[i,'colC']!=0 & (df[i,'colC']!=df[i-1,'colC'])) {val=val+1}
df[i,'ID']<-val
}
出力コード上記の通り:間違って何
> df
colA colB colC ID
1 10 11 7 1
2 10 34 7 1
3 10 89 7 1
4 10 21 7 1
5 9 8 0 1
6 9 11 0 1
7 9 21 0 1
8 2 23 5 2
9 2 21 5 2
10 2 56 5 2
11 1 45 0 2
12 1 23 0 2
13 22 14 3 3
14 22 19 3 3
15 22 90 3 3
16 11 19 2 4
17 11 45 2 4
18 80 13 2 4
19 80 17 2 4
20 99 15 1 5
21 55 20 1 5
グループ行がcolC
に基づくべきであるが、それぞれ異なるグループの間には0が存在しないので、同じ番号が、多様colA
とcolC
値がtogethグループ化されている最後の4つのID
値でありますこれは私が望むものではありません。
所望の出力(最後の4つのID
値を参照してください):
> df
colA colB colC ID
1 10 11 7 1
2 10 34 7 1
3 10 89 7 1
4 10 21 7 1
5 9 8 0 1
6 9 11 0 1
7 9 21 0 1
8 2 23 5 2
9 2 21 5 2
10 2 56 5 2
11 1 45 0 2
12 1 23 0 2
13 22 14 3 3
14 22 19 3 3
15 22 90 3 3
16 11 19 2 4
17 11 45 2 4
18 80 13 2 5
19 80 17 2 5
20 99 15 1 6
21 55 20 1 7
どのように私はこの問題を解決することができますか?
神、または彼の力を持っている人があなたを祝福するかもしれません。ありがとうございました – aaaaa
よろしくお願いします。神はあなたと幸運を祝福! – Psidom
私は上記のコードに苦労していた週でした。ありがとうございました。 – aaaaa