0

誰かが私を助けてくれることを願っています。

I have a data like this:             
subject        choice  
 1               3  
 2               3    
 3               1    
 4               4    
 5               3    
 6               2    
 7               2    
 8               3    

「choice」列の値に基づいて新しい列を作成したいと思います。選択列の値が新しい (以前に発生したことがない) 場合、新しい列の値は「いいえ」になります。それ以外の場合、値が以前の行で既に発生している場合、新しい列の値は「Soc」になります。 . 新しいテーブルは次のようになります。

 subject        choice    newcolumn
   1               3           No
   2               3           Soc
   3               1           No
   4               4           No
   5               3           Soc
   6               2           No
   7               2           Soc
   8               3           Soc

誰かが私を助けることができますか?前もって感謝します

4

3 に答える 3

1

duplicatedと を使用した別のオプションifelse:

transform(DF, newcolumn = ifelse(!duplicated(choice),'No','Soc'))

##   subject choice newcolumn
## 1       1      3        No
## 2       2      3       Soc
## 3       3      1        No
## 4       4      4        No
## 5       5      3       Soc
## 6       6      2        No
## 7       7      2       Soc
## 8       8      3       Soc
于 2013-07-22T20:59:56.910 に答える