ID が繰り返されている があり、各 ID の最初の出現を含むdataframe
を取得したいと考えています。colunm
例えば:
ID <- as.character( "ae61_10", "ae61_10", "ae61_10", "ae61_10", "ae61_10", "ae61_1", "ae61_1", "ae61_1", "ae61_11", "ae61_2", "ae61_2", "ae61_3", "ae61_4", "ae61_4", "ae61_5", "ae61_6", "ae61_7", "ae61_8", "ae61_8", "ae61_8", "ae61_9")
df <- data.frame(ID)
df
ID
1 ae61_10
2 ae61_10
3 ae61_10
4 ae61_10
5 ae61_10
6 ae61_1
7 ae61_1
8 ae61_1
9 ae61_11
10 ae61_2
11 ae61_2
12 ae61_3
13 ae61_4
14 ae61_4
15 ae61_5
16 ae61_6
17 ae61_7
18 ae61_8
19 ae61_8
20 ae61_8
21 ae61_9
それが最初の ID 出現である場合、およびそうでない場合FIRST_OC
に返されるcolumn を取得したいと思います。このような:1
0
ID FIRST_OC
1 ae61_10 1
2 ae61_10 0
3 ae61_10 0
4 ae61_10 0
5 ae61_10 0
6 ae61_1 1
7 ae61_1 0
8 ae61_1 0
9 ae61_11 1
10 ae61_2 1
11 ae61_2 0
12 ae61_3 1
13 ae61_4 1
14 ae61_4 0
15 ae61_5 1
16 ae61_6 1
17 ae61_7 1
18 ae61_8 1
19 ae61_8 0
20 ae61_8 0
21 ae61_9 1
このコマンドを試しましたが、うまくいきませんでした:
df$FIRST_OC <- 0
FIRST_OC <- df[match(unique(df$ID), df$ID),]
df$FIRST_OC[which(df$ID %in% FIRST_OC)] <- 1
誰かが何が問題なのかを理解するのを手伝ってくれますか?
どうもありがとう。