Ich habe ein paar Fragen. Ich habe neun Variablen, welche alle - bis auf eine - intervallskaliert sind. Eine davon ist ordinal skaliert.
Wenn ich jetzt eine Korrelationsmatrix mit allen neun Variablen haben möchte, um alle Variablen miteinander in Zusammenhang zu bringen - rechne ich dann bei allen einen nichtparametrischen Test (also Spearman)? Oder rechne ich die Korrelationen zwischen den intervallskalierten Variablen mit Pearson und nur die Korrelationen zwischen der einen ordinalen Variable und den anderen intervallskalierten Variablen mit Spearman?
Und ich bin ein ziemlicher newb, was R angeht. Könnte da mal jemand einen Blick über meinen Code werfen? Es muss nicht schön sein - es soll am Ende nur das richtige ausspucken
![Überglücklich :D](http://www.statistik-forum.de/images/smilies/icon_e_biggrin.gif)
Um den Code etwas verständlicher zu machen:
Ich habe verschiedene Fragebögen, welche verschiedene Konstrukte messen. Aus den Items bilde ich dann neue Vektoren mit Summenscores oder den Durchschnittswerten der entsprechenden Items.
Zuerst lade ich nötige Libs, dann setze ich das WD. Danach bilde ich aus verschiedenen Items einen Summenscore für das Konstrukt "HSNS". Danach Durchschnittswerte für die Konstrukte Narzissmus, Machiavellismus und Psychopathie. Danach noch mal einen Summenscore für das Konstrukt "technik".
Da ich rcorr() für die Korrelationen nutze (um direkt die Korrelationskoeffizienten und p-Werte als Matrix zu haben), muss ich meine ganzen Vektoren noch in eine Matrix umwandeln und diese dann an rcorr() verfütterm.
Das ist der Code:
- Code: Alles auswählen
#Libaries laden
library("psych", lib.loc="~/R/win-library/3.4")
library("Hmisc", lib.loc="~/R/win-library/3.4")
#Working Directory setzen, CSV laden
setwd("blub")
ergebnisse<-read.csv("bereinigt.csv", header=1, sep = ";", dec=",")
attach(ergebnisse)
##Gibt Summenscore für HSNS zurück
items_hsns <- c("hsns_v_43", "hsns_v_44","hsns_v_45","hsns_v_46","hsns_v_47",
"hsns_v_48", "hsns_v_49","hsns_v_50","hsns_v_51","hsns_v_52")
scaleKey_hsns <- c(1,1,1,1,1,1,1,1,1,1)
results_hsns <- scoreItems(keys = scaleKey_hsns, items = ergebnisse[items_hsns],
totals = TRUE, missing = FALSE, min = 1,
max = 7)
sumscore_hsns <- results_hsns$scores
## Gibt Mittelwerte für D3 zurück
#narzissmus
items_d3_n <- c("d3_v_36", "d3_v_39","d3_v_42")
scaleKey_d3_n <- c(1,1,1)
results_d3_n <- scoreItems(keys = scaleKey_d3_n, items = ergebnisse[items_d3_n],
totals = FALSE, missing = FALSE, min = 1,
max = 9)
avg_d3_n <- results_d3_n$scores
#machiavellismus
items_d3_m <- c("d3_v_34", "d3_v_37","d3_v_40")
scaleKey_d3_m <- c(1,1,1)
results_d3_m <- scoreItems(keys = scaleKey_d3_m, items = ergebnisse[items_d3_m],
totals = FALSE, missing = FALSE, min = 1,
max = 9)
avg_d3_m <- results_d3_m$scores
#psychopathie
items_d3_p <- c("d3_v_35", "d3_v_38","d3_v_41")
scaleKey_d3_p <- c(1,1,1)
results_d3_p <- scoreItems(keys = scaleKey_d3_p, items = ergebnisse[items_d3_p],
totals = FALSE, missing = FALSE, min = 1,
max = 9)
avg_d3_p <- results_d3_p$scores
##Gibt Mittelwert für Technik zurück
items_technik <- c("technik_v_6", "technik_v_7","technik_v_8","technik_v_9",
"technik_v_10","technik_v_11","technik_v_12","technik_v_13")
scaleKey_technik <- c(1,1,1,1,1,1,1,1)
results_technik <- scoreItems(keys = scaleKey_technik, items = ergebnisse[items_technik],
totals = FALSE, missing = FALSE, min = 1,
max = 5)
avg_technik <- results_technik$scores
#Matrix
ergebnisse_matrix <- matrix(c(sumscore_hsns, avg_d3_n, avg_d3_m, avg_d3_p, alter,
dauer, anz_a, anz_b, avg_technik), nrow=115, ncol=9)
colnames(ergebnisse_matrix) <- c("hsns", "narzissmus", "machiavellismus", "psychopathie",
"alter", "dauer", "anz_a", "anz_b", "technik")
##Korrelation
rcorr(ergebnisse_matrix, type="pearson")