De chikwadraatverdeling in r: dchisq, pchisq, qchisq, rchisq
In deze tutorial wordt uitgelegd hoe u de Chi-kwadraatverdeling in R kunt gebruiken met behulp van de volgende functies:
- dchisq : Retourneert de waarde van de Chi-kwadraat-kansdichtheidsfunctie.
- pchisq : Retourneert de waarde van de Chi-Square cumulatieve dichtheidsfunctie.
- qchisq : retourneert de waarde van de Chi-kwadraat-kwantielfunctie.
- rchisq : genereert een vector van Chi-kwadraat verdeelde willekeurige variabelen.
De volgende voorbeelden laten zien hoe u elk van deze functies in de praktijk kunt gebruiken.
dchisq
We gebruiken vaak de functie dchisq() in combinatie met de functie Curve() om een Chi-kwadraatverdeling met een bepaald aantal vrijheidsgraden uit te tekenen.
We kunnen bijvoorbeeld de volgende code gebruiken om een Chi-kwadraatverdeling met 5 vrijheidsgraden te plotten:
#plot Chi_Square distribution with 5 degrees of freedom curve(dchisq(x, df= 5 ), from= 0 , to= 20 )
De x-as toont de waarden van een Chi-kwadraat-teststatistiek en de y-as toont de overeenkomstige waarde van de waarschijnlijkheidsdichtheidsfunctie.
Gerelateerd: Hoe u eenvoudig een Chi-kwadraatverdeling in R kunt plotten
pchiq
We gebruiken vaak pchisq() functie om de p-waarde te vinden die overeenkomt met een gegeven Chi-kwadraat-teststatistiek.
Stel dat we bijvoorbeeld een chikwadraattest van onafhankelijkheid uitvoeren en een teststatistiek verkrijgen van X2 = 0,86404 met 2 vrijheidsgraden.
We kunnen de functie pchisq() gebruiken om de p-waarde te vinden die overeenkomt met deze teststatistiek:
#calculate p-value for given test statistic with 2 degrees of freedom 1-pchisq(0.86404, df= 2 ) [1] 0.6491964
De p-waarde blijkt 0,6491964 te zijn.
We kunnen ook bevestigen dat dit juist is door dechikwadraatscore-naar-P-waardecalculator te gebruiken.
iets
We gebruiken vaak qchisq() functie om de kritische chikwadraatwaarde te vinden die overeenkomt met een bepaald significantieniveau en vrijheidsgraden.
We kunnen bijvoorbeeld de volgende code gebruiken om de kritische Chi-kwadraatwaarde te vinden die overeenkomt met een significantieniveau van 0,05 met 13 vrijheidsgraden:
qchisq(p= .95 , df= 13 )
[1] 22.36203
De kritische waarde blijkt 22,36203 te zijn.
We kunnen ook bevestigen dat dit juist is met behulp van de chikwadraat-calculator voor kritische waarden .
rchisq
We gebruiken vaak rchisq() functie om een lijst van n willekeurige waarden te genereren die een Chi-kwadraatverdeling volgen met een gegeven vrijheidsgraad.
We kunnen bijvoorbeeld de volgende code gebruiken om een lijst van 1000 willekeurige waarden te genereren die een Chi-kwadraatverdeling volgen met 5 vrijheidsgraden:
#make this example reproducible
set. seed ( 0 )
#generate 1000 random values that follow Chi-Square dist with df=5
values <- rchisq(n= 1000 , df= 5 )
#view first five values
head(values)
[1] 8.369701 3.130487 1.985623 5.258747 10.578594 6.360859
We kunnen ook de functie hist( ) gebruiken om een histogram te genereren om deze verdeling van waarden te visualiseren:
#create histogram to visualize distribution of values
hist(values)
Op de x-as staan de datawaarden en op de y-as de frequentie van die waarden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u met andere distributies in R kunt werken:
Normale verdeling in R: dnorm, pnorm, qnorm en rnorm
Binominale verdeling in R: dbinom, pbinom, qbinom en rbinom
Visverdeling in R: dpois, ppois, qpois en rpois