Hoe cor() te gebruiken om correlatiecoëfficiënten in r te berekenen
U kunt de functie cor() in R gebruiken om correlatiecoëfficiënten tussen variabelen te berekenen.
Dit zijn de meest gebruikelijke manieren om deze functie te gebruiken:
Methode 1: bereken de Pearson-correlatiecoëfficiënt tussen twee variabelen
cor(df$x, df$y)
Gebruik de Pearson-correlatiecoëfficiënt bij het berekenen van de correlatie tussen twee continue variabelen. (bijvoorbeeld lengte en gewicht)
Methode 2: Bereken de Pearson-correlatiecoëfficiënt tussen alle numerieke variabelen in het dataframe
cor(df)
Deze methode retourneert een correlatiematrix die de Pearson-correlatiecoëfficiënt bevat tussen elke paarsgewijze combinatie van numerieke variabelen in een dataframe.
Methode 3: bereken de Spearman-correlatiecoëfficiënt tussen twee variabelen
cor(df$x, df$y, method=' spearman ')
Gebruik de correlatiecoëfficiënt van Spearman bij het berekenen van de correlatie tussen twee gerangschikte variabelen. (bijv. rangschikking van de wiskunde-examenscore van een leerling versus de rangschikking van zijn wetenschapsexamenscore in een klas)
Methode 4: bereken de Kendall-correlatiecoëfficiënt tussen twee variabelen
cor(df$x, df$y, method=' kendall ')
Gebruik de correlatiecoëfficiënt van Kendall als u de correlatie van Spearman wilt gebruiken, maar de steekproefomvang klein is en er veel verbanden zijn.
De volgende voorbeelden laten zien hoe je elke methode in de praktijk kunt gebruiken met het volgende dataframe in R dat het aantal uren aan studeren toont, het aantal afgelegde oefenexamens en het eindexamencijfer voor acht verschillende studenten:
#create data frame
df <- data. frame (hours=c(1, 1, 3, 2, 4, 3, 5, 6),
prac_exams=c(4, 3, 3, 2, 3, 2, 1, 4),
score=c(69, 74, 74, 70, 89, 85, 99, 90))
#view data frame
df
hours prac_exams score
1 1 4 69
2 1 3 74
3 3 3 74
4 2 2 70
5 4 3 89
6 3 2 85
7 5 1 99
8 6 4 90
Voorbeeld 1: Bereken de Pearson-correlatiecoëfficiënt tussen twee variabelen
De volgende code laat zien hoe u de functie cor() gebruikt om de Pearson-correlatiecoëfficiënt tussen de uren- en scorevariabelen te berekenen:
#calculate Pearson correlation coefficient between hours and score
cor(df$hours, df$score)
[1] 0.8600528
De Pearson-correlatiecoëfficiënt tussen uren en score bleek 0,86 te zijn.
Houd er rekening mee dat als er NA-waarden in uw dataframe voorkomen, u het argument use=’complete.obs‘ kunt gebruiken om alleen de rijen te gebruiken waar geen NA-waarden zijn:
#calculate Pearson correlation coefficient and ignore any rows with NA cor(df$hours, df$score, use=' complete.obs ')
Voorbeeld 2: Bereken de Pearson-correlatiecoëfficiënt tussen alle numerieke variabelen
De volgende code laat zien hoe u de functie cor() gebruikt om een correlatiematrix te maken die de Pearson-correlatiecoëfficiënt bevat tussen alle numerieke variabelen in het gegevensframe:
#calculate Pearson correlation coefficient between all numeric variables
cor(df)
hours prac_exams score
hours 1.0000000 -0.1336063 0.8600528
prac_exams -0.1336063 1.0000000 -0.3951028
score 0.8600528 -0.3951028 1.0000000
Zo interpreteert u het resultaat:
- De Pearson-correlatiecoëfficiënt tussen uren en praktijkexamens is -0,13 .
- De Pearson-correlatiecoëfficiënt tussen uren en score is 0,86 .
- De Pearson-correlatiecoëfficiënt tussen praktijkexamens en de score is -0,39 .
Opmerking : de Pearson-correlatiecoëfficiënt tussen elke individuele variabele en zichzelf is altijd 1, daarom is elke waarde langs de diagonaal van de correlatiematrix 1.
Voorbeeld 3: Bereken de Spearman-correlatiecoëfficiënt tussen twee variabelen
De volgende code laat zien hoe u de functie cor() gebruikt om de Spearman-correlatiecoëfficiënt tussen de variabelen hours en prac_exams te berekenen:
#calculate Spearman correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' spearman ') [1] -0.1250391
De Spearman-correlatiecoëfficiënt tussen uren en praktijkexamens blijkt -0,125 te zijn.
Voorbeeld 4: Bereken de Kendall-correlatiecoëfficiënt tussen twee variabelen
De volgende code laat zien hoe u de functie cor() gebruikt om de Kendall-correlatiecoëfficiënt tussen de variabelen hours en prac_exams te berekenen:
#calculate Kendall's correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' kendall ') [1] -0.1226791
De Kendall’s correlatiecoëfficiënt tussen uren en praktijkexamens blijkt -0,123 te zijn.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe de glijdende correlatie in R te berekenen
Hoe autocorrelatie in R te berekenen
Hoe de gedeeltelijke correlatie in R te berekenen