2
Src=as.factor(c("nc","us","us","nc","nc","ci","nn","pr","nc","nc","ak","ak","ak","ak","ci","hv","ak","ci","nc","nc"))
Version = as.factor(c(0,4,7,0,0,0,9,0,0,0,1,1,1,1,0,2,1,0,0,0))
table(Src,Version)

出力:

    Version
Src  0 1 2 4 7 9
  ak 0 5 0 0 0 0
  ci 3 0 0 0 0 0
  hv 0 0 1 0 0 0
  nc 7 0 0 0 0 0
  nn 0 0 0 0 0 1
  pr 1 0 0 0 0 0
  us 0 0 0 1 1 0

カウントされた数を表示する代わりに、相対的な頻度を表示できますか?

4

3 に答える 3

11

もちろん。prop.table()その効果に使用できます:

prop.table(table(Src, Version))

これにより、次のようなテーブルが生成されます。

    Version
Src     0    1    2    4    7    9
  ak 0.00 0.25 0.00 0.00 0.00 0.00
  ci 0.15 0.00 0.00 0.00 0.00 0.00
  hv 0.00 0.00 0.05 0.00 0.00 0.00
  nc 0.35 0.00 0.00 0.00 0.00 0.00
  nn 0.00 0.00 0.00 0.00 0.00 0.05
  pr 0.05 0.00 0.00 0.00 0.00 0.00
  us 0.00 0.00 0.00 0.05 0.05 0.00

オプションの引数を使用して、margin行または列の相対頻度を要求できます。

于 2013-01-29T10:59:01.850 に答える
5

それは本当にFAQです。

テーブルをその合計で割るだけです:

tab <- table(Src,Version)
tab/sum(tab)

も参照してください?prop.table

于 2013-01-29T10:56:16.147 に答える
0

1つのオプションは、barplotwithを使用しbeside=TRUEて、グループ間の相対(プロットは比率オプションでは変化せず、スケールのみ)の違いを表示することです。

 barplot(table(Src,Version),beside=TRUE)

ここに画像の説明を入力してください

于 2013-01-29T10:56:30.303 に答える