3

私は R プログラミングの学習を始めたばかりで、特にデータ フレームの 1 つの列で繰り返される値を処理することにほとんど疑いはありません。たとえば、「サンプル」データフレームを考えてみましょう `

 > Sample
     id   time1   time2             user   group
21   21   21.7    16.1               A        1   
22   22   22.6    17.0               A        2   
23   23   20.9    16.2               A        3   
24   24   21.6    16.2               B        1  
25   25   22.2    16.9               B        1   
26   26   22.5    16.9               B        1 
27   27   22.2    17.3               B        2 
28   28   24.3    16.8               D        2
29   29   22.3    16.8               D        2 
30   30   22.6    17.0               E        3  
31   31   20.1    16.5               E        3  
32   32   22.0    16.9               E        3 
33   33   22.8    16.5               E        4   
34   34   22.0    17.0               E        4  
35   35   22.4    17.0               F        1   
36   36   22.3    16.3               F        1   
37   37   20.6    16.2               F        2   

ここで、1) 平均「time1」が最も高いユーザー、2) 「グループ」3 に属し、「time2」が最大のユーザーを見つける必要があります。

今のところ私の理解では、repeated()、unique()、max()、mean()、および NROW() 関数の組み合わせを使用する必要があります。しかし、私はそれを理解しようとして苦労しています。アプローチ方法に関する指針はありますか?

4

1 に答える 1

3

あなたが使用することができwhich.maxますtapply

1)

which.max(tapply(Sample$time1,Sample$user,mean))
D 
3

2)

which.max(tapply(Sample$time2,Sample$user,max))
B 
2 

ただし、ネクタイには注意してください。

于 2012-12-07T14:01:54.080 に答える