This tutorial explains how to work with the Chi-Square distribution in R using the following functions:
- dchisq: returns the value of the Chi-Square probability density function.
- pchisq: returns the value of the Chi-Square cumulative density function.
- qchisq: returns the value of the Chi-Square quantile function.
- rchisq: generates a vector of Chi-Square distributed random variables.
The following examples show how to use each of these functions in practice.
dchisq
We often use the dchisq() function with the curve() function to plot a Chi-Square distribution with a certain number of degrees of freedom.
For example, we can use the following code to plot a Chi-Square distribution with 5 degrees of freedom:
#plot Chi_Square distribution with 5 degrees of freedom curve(dchisq(x, df=5), from=0, to=20)
The x-axis shows the values of a Chi-Square test statistic and the y-axis shows the corresponding value of the probability density function.
Related: How to Easily Plot a Chi-Square Distribution in R
pchisq
We often use the pchisq() function to find the p-value that corresponds to a given Chi-Square test statistic.
For example, suppose we perform a Chi-Square Test of Independence and end up with a test statistic of X2 = 0.86404 with 2 degrees of freedom.
We can use the pchisq() function to find the p-value that corresponds to this test statistic:
#calculate p-value for given test statistic with 2 degrees of freedom 1-pchisq(0.86404, df=2) [1] 0.6491964
The p-value turns out to be 0.6491964.
We can also confirm this is correct by using the Chi-Square Score to P-Value Calculator.
qchisq
We often use the qchisq() function to find the Chi-Square critical value that corresponds to a given significance level and degrees of freedom.
For example, we can use the following code to find the Chi-Square critical value that corresponds to a significance level of .05 with 13 degrees of freedom:
qchisq(p=.95, df=13)
[1] 22.36203
The critical value turns out to be 22.36203.
We can also confirm this is correct by using the Chi-Square Critical Value Calculator.
rchisq
We often use the rchisq() function to generate a list of n random values that follow a Chi-Square distribution with a given degrees of freedom.
For example, we can use the following code to generate a list of 1,000 random values that follow a Chi-Square distribution with 5 degrees of freedom:
#make this example reproducible
set.seed(0)
#generate 1000 random values that follow Chi-Square dist with df=5
values 1000, df=5)
#view first five values
head(values)
[1] 8.369701 3.130487 1.985623 5.258747 10.578594 6.360859
We can also use the hist() function to generate a histogram to visualize this distribution of values:
#create histogram to visualize distribution of values
hist(values)
The x-axis shows the data values and the y-axis shows the frequency of those values.
Additional Resources
The following tutorials explains how to work with other distributions in R:
Normal Distribution in R: dnorm, pnorm, qnorm, and rnorm
Binomial Distribution in R: dbinom, pbinom, qbinom, and rbinom
Poisson Distribution in R: dpois, ppois, qpois, and rpois