0

私はRにかなり慣れていないので、頻度でデータを要約する方法を探しています。だから、私はこのようなデータフレームを持っています:

immagine    media
1          1 60.65391
2          2 58.89603
3          3 60.45428
4          4 55.91487
5          5 56.11804
6          6 56.05239
7          7 61.12667
8          8 60.46287
9          9 57.96718
10        10 58.75914
11        11 60.39214
12        12 57.64966
13        13 57.14457
14        14 56.85810
15        15 56.97652
16        16 58.45831
17        17 57.37774
18        18 57.31794
19        19 60.89813
20        20 61.57055
21        21 59.62459
22        22 56.86678
23        23 56.46254
24        24 54.72302
25        25 56.04285
26        26 55.88004
27        27 56.64764

そして、変数「メディア」を55-60、50-55などのグループに分割したテーブルを作成したいと思います...そしてそれは相対的なイメージです。どうすればいいのか本当にわかりません。どなたかよろしくお願いします。

データを信頼区間で割ることも検討していました。異なるグループを 95% CI でダイビングするために、カット関数を使用することは可能ですか? . 前もって感謝します。ニコラ

ニコラ

4

1 に答える 1

5

cutレベルが指定したグループ化である係数を示します。

tableベクトルを取り、各レベルにいくつの要素があるかを示します。

2 つを組み合わせると、やりたいことができるはずです。

> media <- rnorm(10,2.5)+57
> media
 [1] 60.13145 58.78920 61.01821 60.35878 59.20806 57.75657 61.12825 59.67605
 [9] 59.29902 58.70735
> ct <- cut( media, seq(50,65,2.5), include.lowest=TRUE ) 
> ct
 [1] (60,62.5] (57.5,60] (60,62.5] (60,62.5] (57.5,60] (57.5,60] (60,62.5]
 [8] (57.5,60] (57.5,60] (57.5,60]
Levels: [50,52.5] (52.5,55] (55,57.5] (57.5,60] (60,62.5] (62.5,65]
> table(ct)
ct
[50,52.5] (52.5,55] (55,57.5] (57.5,60] (60,62.5] (62.5,65] 
        0         0         0         6         4         0 

table はベクトルを返すため、必要に応じて出力をパーセントで表示できます。

> table(ct)/length(ct)*100
ct
[50,52.5] (52.5,55] (55,57.5] (57.5,60] (60,62.5] (62.5,65] 
        0         0         0        60        40         0

ctベクトルの順序が保持されるため、新しい列として保存することにより、グループ化を data.frame に戻すことができます。data.frame が呼び出された場合、次のようdatになります。

dat$group <- ct

するべきです。

于 2012-08-14T14:25:59.627 に答える