Spearman Korrelation

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
Arual
Beiträge: 3
Registriert: Sa Feb 06, 2021 8:59 am

Spearman Korrelation

Beitrag von Arual »

Hallo,
ich möchte für zwei Variablen die Spearman-Korrelation berechnen.
Für die ersten Variablen hat das noch funktioniert.
Da in dem Datensatz von zwei Probanden "%" eingegeben wurden, wurde mir der Fehler ausgegeben, dass ich einen numerischen Vektor benötige.
Also habe ich die %-Zeichen entfernt und danach den Vektor zu einem numerischen geändert. Es sind auch keine NAs drinnen.

Jetzt bekomme ich auf einmal die Fehlermeldung, dass 'x' und 'y' die gleiche Länge haben müssen. Aber eigentlich müssten sie das sein.
Oder stehe ich irgendwie auf dem Schlauch?
R.png
Schon mal danke im Voraus!
Laura
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Spearman Korrelation

Beitrag von jogo »

Hallo Laura,

willkommen im Forum!
Wie man sieht, hast Du einige Variablen außerhalb des Dataframes angelegt.
Was liefert

Code: Alles auswählen

cor.test(IN03_01num, CS, ...)
:?:

Bitte zukünftig keine Bilder, sondern Texte in code-Tags!
viewtopic.php?f=20&t=29

Gruß, Jörg
Arual
Beiträge: 3
Registriert: Sa Feb 06, 2021 8:59 am

Re: Spearman Korrelation

Beitrag von Arual »

Hallo Jörg,
danke für die schnelle Antwort.

Wenn ich den Befehl eingebe:

Code: Alles auswählen

cor.test(BA$IN03_01num, CS, method ="spearman", alternative ="greater")


bekomme ich das als Ausgabe:

Code: Alles auswählen

Fehler in cor.test.default(BA$IN03_01num, CS, method = "spearman", alternative = "greater") : 
  'x' und 'y' müssen dieselbe Länge haben
Ah okay, ich hab zumindest jetzt festgestellt, dass mein IN03_01num als Länge scheinbar 0 hat.

Code: Alles auswählen

> length(BA$IN03_01num)
[1] 0
> length(CS)
[1] 105
Davor hatte ich das Problem, dass mir angezeigt wurde, ich benötige einen numerischen Vektor.

Code: Alles auswählen

cor.test(BA$IN03_01, CS, method ="spearman", alternative ="greater")
Fehler in cor.test.default(BA$IN03_01, CS, method = "spearman", alternative = "greater") : 
  'x' muss ein numerischer Vektor sein
Wie ändere ich das jetzt, ohne dass die Länge verloren geht? Mit

Code: Alles auswählen

as.numeric()
scheinbar nicht?

Liebe Grüße,
Laura
bigben
Beiträge: 2780
Registriert: Mi Okt 12, 2016 9:09 am

Re: Spearman Korrelation

Beitrag von bigben »

Was waren denn da für Einträge drin, als Du as.numeric eingesetzt hast? Vielleicht Zahlen mit Komma statt Punkt als Dezimaltrenner?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Spearman Korrelation

Beitrag von jogo »

Hallo Laura,

dann mach doch:

Code: Alles auswählen

cor.test(as.numeric(BA$IN03_01), CS, method ="spearman", alternative ="greater")
Im Übrigen vermute ich, dass Du ein wenig die Übersicht verloren hast darüber, welche Spalten in einem Dataframe sind und welche Objekte Du im Arbeitsbereich angelegt hast.

Gruß, Jörg
Arual
Beiträge: 3
Registriert: Sa Feb 06, 2021 8:59 am

Re: Spearman Korrelation

Beitrag von Arual »

Hallo,

die Einträge bestehen nur aus ganzen Zahlen von 0 bis 100.

Aber das

Code: Alles auswählen

cor.test(as.numeric(BA$IN03_01), CS, method ="spearman", alternative ="greater")
hat funtioniert!

Vielen vielen Dank für die Hilfe!
Grüße,
Laura
Antworten