logo

Chi-Square Test i R

Det chi-kvadrat test of uafhængighed evaluerer, om der er en sammenhæng mellem kategorierne af de to variable. Der er grundlæggende to typer tilfældige variable, og de giver to typer data: numeriske og kategoriske. I R Programmeringssprog Chi-kvadratstatistik bruges til at undersøge, om fordelinger af kategoriske variabler adskiller sig fra hinanden. Chi-kvadrat-testen er også nyttig, mens man sammenligner tal eller tællinger af kategoriske svar mellem to (eller flere) uafhængige grupper.

I R-programmeringssprog er den funktion, der bruges til at udføre en chi-kvadrattest chisq.test()> .



Syntaks:

chisq.test(data)

streng java array

Parametre:



data : data er en tabel, der indeholder tælleværdier for variablerne i tabellen.

Vi vil tage undersøgelsens data i MASS> bibliotek, som repræsenterer data fra en undersøgelse foretaget på studerende.

R






# load the MASS package> library>(MASS)> print>(>str>(survey))>

>

>

Produktion:

lære nøjagtighedsscore
'data.frame': 237 obs. of 12 variables:  $ Sex : Factor w/ 2 levels 'Female','Male': 1 2 2 2 2 1 2 1 2 2 ...  $ Wr.Hnd: num 18.5 19.5 18 18.8 20 18 17.7 17 20 18.5 ...  $ NW.Hnd: num 18 20.5 13.3 18.9 20 17.7 17.7 17.3 19.5 18.5 ...  $ W.Hnd : Factor w/ 2 levels 'Left','Right': 2 1 2 2 2 2 2 2 2 2 ...  $ Fold : Factor w/ 3 levels 'L on R','Neither',..: 3 3 1 3 2 1 1 3 3 3 ...  $ Pulse : int 92 104 87 NA 35 64 83 74 72 90 ...  $ Clap : Factor w/ 3 levels 'Left','Neither',..: 1 1 2 2 3 3 3 3 3 3 ...  $ Exer : Factor w/ 3 levels 'Freq','None',..: 3 2 2 2 3 3 1 1 3 3 ...  $ Smoke : Factor w/ 4 levels 'Heavy','Never',..: 2 4 3 2 2 2 2 2 2 2 ...  $ Height: num 173 178 NA 160 165 ...  $ M.I : Factor w/ 2 levels 'Imperial','Metric': 2 1 NA 2 2 1 1 2 2 2 ...  $ Age : num 18.2 17.6 16.9 20.3 23.7 ... NULL>

Ovenstående resultat viser, at datasættet har mange faktorvariabler, som kan betragtes som kategoriske variable. For vores model vil vi overveje variablerne Exer og Røg .Søjlen Røg registrerer elevernes rygevaner, mens kolonnen Exer registrerer deres træningsniveau. Vores mål er at teste hypotesen om elevernes rygevaner er uafhængige af deres træningsniveau på .05 signifikansniveau.

R




# Create a data frame from the main data set.> stu_data =>data.frame>(survey$Smoke,survey$Exer)> # Create a contingency table with the needed variables.> stu_data =>table>(survey$Smoke,survey$Exer)> > print>(stu_data)>

>

>

Produktion:

 Freq None Some  Heavy 7 1 3  Never 87 18 84  Occas 12 3 4  Regul 9 1 7>

Og til sidst anvender vi chisq.test()> funktion til beredskabstabellen stu_data.

R




java-variabeltype
# applying chisq.test() function> print>(>chisq.test>(stu_data))>

>

>

Produktion:

 Pearson's Chi-squared test  data: stu_data X-squared = 5.4885, df = 6, p-value = 0.4828>

Da p-værdien 0,4828 er større end 0,05, konkluderer vi, at rygevanen er uafhængig af elevens træningsniveau, og der er derfor en svag eller ingen sammenhæng mellem de to variable. Den komplette R-kode er angivet nedenfor.

Så sammenfattende kan det siges, at det er meget nemt at udføre en Chi-kvadrat test ved hjælp af R. Man kan udføre denne opgave vha. chisq.test()> funktion i R.

Visualiser Chi-Square-testdataene

R




ups i java

# Load required library> library>(MASS)> # Print structure of the survey dataset> print>(>str>(survey))> # Create a data frame for smoking and exercise columns> stu_data <->data.frame>(survey$Smoke, survey$Exer)> stu_data <->table>(survey$Smoke, survey$Exer)> # Print the table> print>(stu_data)> # Perform the Chi-Square Test> chi_result <->chisq.test>(stu_data)> print>(chi_result)> # Visualize the data with a bar plot> barplot>(stu_data, beside =>TRUE>, col =>c>(>'lightblue'>,>'lightgreen'>),> >main =>'Smoking Habits vs Exercise Levels'>,> >xlab =>'Exercise Level'>, ylab =>'Number of Students'>)> # Add legend separately> legend>(>'center'>, legend =>rownames>(stu_data), fill =>c>(>'lightblue'>,>'lightgreen'>))>

>

>

Produktion:

gh

Chi-Square Test i R

I denne kode bruger viMASS>biblioteket til at udføre en Chi-Square-test på 'undersøgelses'-datasættet med fokus på forholdet mellem rygevaner og træningsniveauer.

Den opretter en beredskabstabel, udfører den statistiske test og visualiserer dataene ved hjælp af et søjleplot. Legenden er tilføjet separat i øverste venstre hjørne, og skelner mellem forskellige rygevaner med forskellige farver.

Koden har til formål at udforske og kommunikere sammenhænge mellem rygeadfærd og træningspraksis i datasættet.