R で分割表を作成する方法
分割表(「クロス集計」とも呼ばれます) は、2 つのカテゴリ変数間の関係を要約する表の一種です。
幸いなことに、ピボット テーブル関数を使用すると、R で変数の分割表を簡単に作成できます。このチュートリアルでは、これを行う方法の例を示します。
例: R の分割表
購入された製品の種類や製品が購入された国など、20 の異なる製品注文に関する情報を表示する次のデータセットがあるとします。
#create data df <- data.frame(order_num = 1:20, product= rep (c(' TV ', ' Radio ', ' Computer '), times =c(9, 6, 5)), country= rep (c(' A ', ' B ', ' C ', ' D '), times =5)) #view data df order_num product country 1 1 TV A 2 2 TV B 3 3 TV C 4 4 TV D 5 5 TV A 6 6 TV B 7 7 TV C 8 8 TV D 9 9 TV A 10 10 Radio B 11 11 Radio C 12 12 Radio D 13 13 Radio A 14 14 Radio B 15 15 Radio C 16 16 Computer D 17 17 Computer A 18 18 Computer B 19 19 Computer C 20 20 Computer D
分割表を作成するには、 table()関数を使用し、製品変数と国変数を引数として指定するだけです。
#create contingency table table <- table(df$product, df$country) #view contingency table table ABCD Computer 1 1 1 2 Radio 1 2 2 1 TV 3 2 2 2
addmargins()関数を使用してテーブルにマージンを追加することもできます。
#add margins to contingency table table_w_margins <- addmargins(table) #view contingency table table_w_margins ABCD Sum Computer 1 1 1 2 5 Radio 1 2 2 1 6 TV 3 2 2 2 9 Sum 5 5 5 5 20
表を解釈する方法は次のとおりです。
- 右下隅の値は、注文された製品の総数 20 を示します。
- 右側の値は行の合計を示しています。合計で、コンピューター 5 台、ラジオ 6 台、テレビ 9 台が注文されました。
- 表の下部の値は列の合計を示しています。合計 5 個の製品が A 国で注文され、5 個が B 国で、5 個が C 国で、5 個が D 国で注文されました。
- 表内の値は、各国で注文された特定の製品の数を示します。A 国から 1 台のコンピューター、A 国から 1 台のラジオ、A 国から 3 台のテレビなど。