R-chi-square-tests

提供:Dev Guides
移動先:案内検索

R-カイ二乗検定

  • カイ2乗検定*は、2つのカテゴリ変数に有意な相関があるかどうかを判断する統計的手法です。 これらの変数は両方とも同じ母集団からのものでなければならず、-はい/いいえ、男性/女性、赤/緑などのようにカテゴリー的でなければなりません。

たとえば、人々のアイスクリーム購入パターンに関する観察結果を含むデータセットを構築し、人の性別と好みのアイスクリームのフレーバーとの相関をとることができます。 相関関係が見つかった場合、訪問する人々の性別を知ることにより、適切なフレーバーの在庫を計画できます。

構文

カイ二乗検定の実行に使用される関数は* chisq.test()*です。

Rでカイ二乗検定を作成するための基本的な構文は次のとおりです-

chisq.test(data)

以下は、使用されるパラメータの説明です-

  • data は、観測の変数のカウント値を含むテーブル形式のデータです。

1993年の自動車のさまざまなモデルの販売を表す「MASS」ライブラリのCars93データを取得します。

library("MASS")
print(str(Cars93))

上記のコードを実行すると、次の結果が生成されます-

'data.frame':   93 obs. of  27 variables:
 $ Manufacturer      : Factor w/32 levels "Acura","Audi",..: 1 1 2 2 3 4 4 4 4 5 ...
 $ Model             : Factor w/93 levels "100","190E","240",..: 49 56 9 1 6 24 54 74 73 35 ...
 $ Type              : Factor w/6 levels "Compact","Large",..: 4 3 1 3 3 3 2 2 3 2 ...
 $ Min.Price         : num  12.9 29.2 25.9 30.8 23.7 14.2 19.9 22.6 26.3 33 ...
 $ Price             : num  15.9 33.9 29.1 37.7 30 15.7 20.8 23.7 26.3 34.7 ...
 $ Max.Price         : num  18.8 38.7 32.3 44.6 36.2 17.3 21.7 24.9 26.3 36.3 ...
 $ MPG.city          : int  25 18 20 19 22 22 19 16 19 16 ...
 $ MPG.highway       : int  31 25 26 26 30 31 28 25 27 25 ...
 $ AirBags           : Factor w/3 levels "Driver & Passenger",..: 3 1 2 1 2 2 2 2 2 2 ...
 $ DriveTrain        : Factor w/3 levels "4WD","Front",..: 2 2 2 2 3 2 2 3 2 2 ...
 $ Cylinders         : Factor w/6 levels "3","4","5","6",..: 2 4 4 4 2 2 4 4 4 5 ...
 $ EngineSize        : num  1.8 3.2 2.8 2.8 3.5 2.2 3.8 5.7 3.8 4.9 ...
 $ Horsepower        : int  140 200 172 172 208 110 170 180 170 200 ...
 $ RPM               : int  6300 5500 5500 5500 5700 5200 4800 4000 4800 4100 ...
 $ Rev.per.mile      : int  2890 2335 2280 2535 2545 2565 1570 1320 1690 1510 ...
 $ Man.trans.avail   : Factor w/2 levels "No","Yes": 2 2 2 2 2 1 1 1 1 1 ...
 $ Fuel.tank.capacity: num  13.2 18 16.9 21.1 21.1 16.4 18 23 18.8 18 ...
 $ Passengers        : int  5 5 5 6 4 6 6 6 5 6 ...
 $ Length            : int  177 195 180 193 186 189 200 216 198 206 ...
 $ Wheelbase         : int  102 115 102 106 109 105 111 116 108 114 ...
 $ Width             : int  68 71 67 70 69 69 74 78 73 73 ...
 $ Turn.circle       : int  37 38 37 37 39 41 42 45 41 43 ...
 $ Rear.seat.room    : num  26.5 30 28 31 27 28 30.5 30.5 26.5 35 ...
 $ Luggage.room      : int  11 15 14 17 13 16 17 21 14 18 ...
 $ Weight            : int  2705 3560 3375 3405 3640 2880 3470 4105 3495 3620 ...
 $ Origin            : Factor w/2 levels "USA","non-USA": 2 2 2 2 2 1 1 1 1 1 ...
 $ Make              : Factor w/93 levels "Acura Integra",..: 1 2 4 3 5 6 7 9 8 10 ...

上記の結果は、データセットにカテゴリ変数と見なすことができる多くの因子変数があることを示しています。 このモデルでは、変数「AirBags」と「Type」を考慮します。 ここでは、販売されている車の種類と、所有しているエアバッグの種類との間に有意な相関関係を見つけることを目指しています。 相関関係が観察される場合、どのタイプの車がどのタイプのエアバッグでよりよく売れるかを推定できます。

# Load the library.
library("MASS")

# Create a data frame from the main data set.
car.data <- data.frame(Cars93$AirBags, Cars93$Type)

# Create a table with the needed variables.
car.data = table(Cars93$AirBags, Cars93$Type)
print(car.data)

# Perform the Chi-Square test.
print(chisq.test(car.data))

上記のコードを実行すると、次の結果が生成されます-

                     Compact Large Midsize Small Sporty Van
  Driver & Passenger       2     4       7     0      3   0
  Driver only              9     7      11     5      8   3
  None                     5     0       4    16      3   6

         Pearson's Chi-squared test

data:  car.data
X-squared = 33.001, df = 10, p-value = 0.0002723

Warning message:
In chisq.test(car.data) : Chi-squared approximation may be incorrect

結論

結果は、0.05未満のp値を示し、文字列相関を示します。