R: Chi-Square - Hypothesis Testing
A local firewood company, Long-Burn Firewood, sells firewood in bulk. In their advertising, they claim that the following percentage of tree species will be delivered.
A local customer ordered from Long-Burn Firewood and felt as if their percentages where off based on the count of each firewood type delivered. The customer sorted and then counted the number of pieces of firewood by tree species. His data is listed in the table below:
> # ENTER THE DATA INTO R > obs = c(134, 256, 169, 183) > null.probs = c(0.20,0.35,0.25,0.20) > > # CALCULATE CHI-SQUARE AND P-VALUE > chisq.test(x = obs, p=null.probs) Chi-squared test for given probabilities data: obs X-squared = 10.9848, df = 3, p-value = 0.01181
> # ENTER THE DATA INTO R > obs = c(134, 256, 169, 183) > null.probs = c(0.20,0.35,0.25,0.20) > > # CALCULATE SUM OF OBSERVED > sum.obs = sum(obs) > sum.obs  742 > > # CALCULATE THE EXPECTED COUNTS > exp = sum.obs*null.probs > exp  148.4 259.7 185.5 148.4 > > # CALCULATE INDIVIDUAL COMPONENTS OF CHI-SQUARE VALUE > chi.sq.values = ((obs - exp)^2/exp) > chi.sq.values  1.39730458 0.05271467 1.46765499 8.06711590 > > # CALCULATE THE CHI-SQUARE VALUE > chi.sq.val = sum(chi.sq.values) > chi.sq.val  10.98479 > > # CALCULATE P-VALUE > pchisq(q = chi.sq.val, df = 3, lower.tail = FALSE)  0.01180841
2. Conduct Test of Independence/Homogeneity
A survey was conducted among adults in a large metropolitan area. Adults were randomly chosen and asked about their exercise and coffee consumption habits. Using R and the survey data shown below, perform a chi-squared hypothesis test to determine if there is a relationship between exercise and coffee consumption habits.
|Frequently Exerise||Moderate Exercise||Never Exercise|
|Heavy Coffee Drinker||23||31||35|
|Moderate Coffee Drinker||37||36||24|
|Never Drink Coffee||48||24||29|
Lets begin by entering the data into R row by row as shown below.
# ENTER THE DATA BY ROW row1 = c(23, 31, 35) row2 = c(37, 36, 24) row3 = c(48, 24, 29)
Next, let's use the rbind() function to combine the rows to create a single matrix.
> # USE THE rbind FUNCTION TO BIND THE ROWS > data.table = rbind(row1, row2, row3) > > data.table [,1] [,2] [,3] row1 23 31 35 row2 37 36 24 row3 48 24 29
Now that we have the data in 1 matrix, lets go ahead and use the chisq.test() function to perform a chi-square hypothesis test.
> chisq.test(data.table) Pearson's Chi-squared test data: data.table X-squared = 12.5119, df = 4, p-value = 0.01392
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.