*56*

To create a density plot for a Chi-square distribution in R, we can use the following functions:

**dchisq()**to create the probability density function**curve()**to plot the probability density function

All we need to do to create the plot is specify theÂ *degrees of freedomÂ *forÂ **dchisq()Â **along with theÂ *toÂ *andÂ *fromÂ *points forÂ **curve()**.

For example, the following code illustrates how to create a density plot for a chi-square distribution with 10 degrees of freedom where the x-axis of the plot ranges from 0 to 40:

curve(dchisq(x, df = 10), from = 0, to = 40)

**Modifying the Density Plot**

We can also modify the density plot by adding a title, changing the y-axis label, increasing the line width, and modifying the line color:

curve(dchisq(x, df = 10), from = 0, to = 40, main = 'Chi-Square Distribution (df = 10)', #add title ylab = 'Density', #change y-axis label lwd = 2, #increase line width to 2 col = 'steelblue') #change line color to steelblue

**Filling in the Density Plot**

In addition to creating the density plot, we can fill in part of the plot using theÂ **polygon()Â **functionÂ based on a starting and ending value.

The following code illustrates how to fill in the portion of the density plot for the x values ranging from 10 to 40:

#create density curve curve(dchisq(x, df = 10), from = 0, to = 40, main = 'Chi-Square Distribution (df = 10)', ylab = 'Density', lwd = 2) #create vector of x values x_vector #create vector of chi-square density values p_vector #fill in portion of the density plot from 0 to 40 polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))), col = adjustcolor('red', alpha=0.3), border = NA)

The following code illustrates how to fill in the portion of the density plot for the x values ranging from 0 to 10:

#create density curve curve(dchisq(x, df = 10), from = 0, to = 40, main = 'Chi-Square Distribution (df = 10)', ylab = 'Density', lwd = 2) #create vector of x values x_vector 0, 10) #create vector of chi-square density values p_vector #fill in portion of the density plot from 0 to 10 polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))), col = adjustcolor('red', alpha=0.3), border = NA)

The following code illustrates how to fill in the portion of the density plot for the x values lying *outside* of the middle 95% of the distribution:

#create density curve curve(dchisq(x, df = 10), from = 0, to = 40, main = 'Chi-Square Distribution (df = 10)', ylab = 'Density', lwd = 2) #find upper and lower values for middle 95% of distribution lower95 #create vector of x values x_lower95 #create vector of chi-square density values p_lower95 #fill in portion of the density plot from 0 to lower 95% value polygon(c(x_lower95, rev(x_lower95)), c(p_lower95, rep(0, length(p_lower95))), col = adjustcolor('red', alpha=0.3), border = NA) #create vector of x values x_upper95 #create vector of chi-square density values p_upper95 #fill in portion of the density plot for upper 95% value to end of plot polygon(c(x_upper95, rev(x_upper95)), c(p_upper95, rep(0, length(p_upper95))), col = adjustcolor('red', alpha=0.3), border = NA)

Lastly, the following code illustrates how to fill in the portion of the density plot for the x values lying *insideÂ *of the middle 95% of the distribution:

#create density curve curve(dchisq(x, df = 10), from = 0, to = 40, main = 'Chi-Square Distribution (df = 10)', ylab = 'Density', lwd = 2) #find upper and lower values for middle 95% of distribution lower95 #create vector of x values x_vector #create vector of chi-square density values p_vector #fill in density plot polygon(c(x_vector, rev(x_vector)), c(p_vector, rep(0, length(p_vector))), col = adjustcolor('red', alpha=0.3), border = NA)