R-카이 제곱 테스트
Chi-Square test두 범주 형 변수간에 유의 한 상관 관계가 있는지 확인하는 통계 방법입니다. 두 변수는 모두 동일한 모집단이어야하며 예 / 아니오, 남성 / 여성, 빨간색 / 녹색 등과 같은 범주 여야합니다.
예를 들어, 우리는 사람들의 아이스크림 구매 패턴에 대한 관찰 데이터 세트를 구축하고 사람의 성별과 선호하는 아이스크림의 맛을 연관 시키려고 할 수 있습니다. 상관 관계가 발견되면 방문하는 사람들의 성별을 알고 적절한 맛의 재고를 계획 할 수 있습니다.
통사론
카이-제곱 검정을 수행하는 데 사용되는 함수는 다음과 같습니다. 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- 값을 보여줍니다.