📖 Scenario: You are a researcher studying if two categorical variables are related. For example, you want to check if gender and preference for a product are independent.
🎯 Goal: Build a simple R program that creates a contingency table, sets up a significance level, performs a chi-squared test, and prints the test result.
📋 What You'll Learn
Create a contingency table with exact counts
Set a significance level variable
Perform a chi-squared test using the table
Print the test result
💡 Why This Matters
🌍 Real World
Chi-squared tests are used in research to check if two categories are related, like gender and product preference.
💼 Career
Data analysts and scientists use chi-squared tests to analyze survey data and make decisions based on categorical data relationships.
Progress0 / 4 steps
1
Create the contingency table
Create a matrix called data_matrix with these exact values and dimensions: 2 rows and 2 columns. The values are 30, 10 in the first row and 20, 40 in the second row. Set the row names to c("Male", "Female") and column names to c("Like", "Dislike").
R Programming
Hint
Use matrix() with byrow = TRUE to fill rows first. Then assign row and column names with rownames() and colnames().
2
Set the significance level
Create a variable called alpha and set it to 0.05 to represent the significance level for the test.
R Programming
Hint
Just assign 0.05 to a variable named alpha.
3
Perform the chi-squared test
Use the chisq.test() function on data_matrix and save the result in a variable called test_result.
R Programming
Hint
Use chisq.test() with the matrix as input and assign the output to test_result.
4
Print the test result
Print the variable test_result to display the chi-squared test output.
R Programming
Hint
Use print(test_result) to show the test output.
Practice
(1/5)
1. What does the Chi-squared test in R primarily check for?
easy
A. Whether two categorical variables are related
B. Whether two numerical variables have the same mean
C. Whether a variable follows a normal distribution
D. Whether the data contains missing values
Solution
Step 1: Understand the purpose of the Chi-squared test
The Chi-squared test is used to check if there is an association between two categorical variables.
Step 2: Compare with other options
Options A and B relate to numerical data tests, and D is about data quality, not relationships.
Final Answer:
Whether two categorical variables are related -> Option A
Quick Check:
Chi-squared test checks categorical variable relationship = C [OK]
Hint: Chi-squared tests relationships between categories, not numbers [OK]
Common Mistakes:
Confusing Chi-squared with t-test or ANOVA
Thinking it tests numerical data means
Assuming it checks data normality
2. Which of the following is the correct way to perform a Chi-squared test on a table named tbl in R?
easy
A. chisq(tbl)
B. chisq.test(tbl)
C. chi.test(tbl)
D. test.chisq(tbl)
Solution
Step 1: Recall the correct function name in R
The function to perform a Chi-squared test in R is chisq.test().
Step 2: Check the syntax
The correct syntax is calling chisq.test() with the table as the argument.
Final Answer:
chisq.test(tbl) -> Option B
Quick Check:
Correct function is chisq.test() = B [OK]
Hint: Use chisq.test() function for Chi-squared test in R [OK]
Common Mistakes:
Using incorrect function names like chisq() or chi.test()
Placing the function name after the table
Forgetting parentheses after function name
3. What will be the output of the following R code?
The matrix has counts: 10, 20 in first row and 30, 40 in second row.
Step 2: Perform Chi-squared test and check p-value
Running chisq.test on this table gives a p-value around 0.504, meaning no strong association.
Final Answer:
0.504 -> Option A
Quick Check:
Chi-squared p-value rounded = 0.504 [OK]
Hint: Check p-value from chisq.test() to judge significance [OK]
Common Mistakes:
Confusing p-value with test statistic
Expecting zero p-value for small counts
Mistaking error message for output
4. Identify the error in this R code snippet for Chi-squared test:
data <- matrix(c(5, 15, 20, 10), ncol=2)
chisq.test(data)
medium
A. Matrix should have rows and columns swapped
B. chisq.test() requires a data frame, not a matrix
C. No error, code runs correctly
D. Matrix must be named 'tbl' to work
Solution
Step 1: Check matrix creation
The matrix is created with 4 values and 2 columns, which is valid.
Step 2: Check chisq.test() input type
chisq.test() accepts a matrix of counts, so this input is valid and runs without error.
Final Answer:
No error, code runs correctly -> Option C
Quick Check:
chisq.test() accepts matrix input = A [OK]
Hint: chisq.test() works with matrices or tables of counts [OK]
Common Mistakes:
Thinking chisq.test() only accepts data frames
Assuming matrix dimensions must be square
Believing variable name affects function
5. You have survey data of 3 groups choosing among 3 products. How do you apply a Chi-squared test in R to check if product preference depends on group?
group <- c('A', 'A', 'B', 'B', 'C', 'C')
product <- c('X', 'Y', 'X', 'Z', 'Y', 'Z')
# What next?
hard
A. Convert group and product to numeric and run chisq.test()
B. Run chisq.test(group, product) directly without table
C. Use t.test() on group and product vectors
D. Create a table with table(group, product) then run chisq.test() on it
Solution
Step 1: Create a contingency table
Use table(group, product) to get counts of each group-product combination.
Step 2: Apply Chi-squared test on the table
Run chisq.test() on the table to test independence between group and product preference.
Final Answer:
Create a table with table(group, product) then run chisq.test() on it -> Option D
Quick Check:
Table then chisq.test() = A [OK]
Hint: Always make a table before chisq.test() for categorical data [OK]
Common Mistakes:
Trying to run chisq.test() on raw vectors
Using t.test() instead of chisq.test() for categories
Converting categories to numbers incorrectly
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.