Seite 1 von 1

Korrelation Pearson

Verfasst: Sa Jul 07, 2018 11:05 am
von M_Hanko
Hallo, ich möchte mich mal kurz vorstellen, da ich neu hier bin.

Ich schreibe gerade meine Masterarbeit über das Thema "assortative mating" in Österreich und arbeite dabei mit EU-SILC Daten. Leider habe ich im Studium keine R Erfahrungen machen können, nichts desto trotz hab ich es durch die vielen Tutorials im Netz jetzt mal geschafft meine Daten soweit aufzubereiten. Jetzt häng ich allerdings bei der Korrelation ein Bisschen und hoffe hier Hilfe zu finden.

Also folgendes:

Ich möchte die Korrelation zwischen Paaren und deren Bildung berechnen.

Mein Dataframe sind derzeit so aus:

Haushaltsnummer Personenidentifikationsnummer Bildungsgrad
1 101 Uni
1 102 Uni
2 201 Lehre
2 202 Matura
3 301 Matura
3 302 Matura
4 401 Lehre
4 402 Lehre

Die Haushaltsnummer bezieht sich auf die Paare, das bedeute, dass 1 (101) und 1 (102) ein Paar sind.

Meine Überlegung ist, die Zeilen nach der Haushaltsnummer zusammenzufügen, sodass ich mal die Indiviuen zu Paaren zusammengefügt habe und daraus dann die Korrelation für die Bildung berechnen kann.

Das neue Dataframe sollte dann so aussehen:

Haushaltsnummer Personenidentifikationsnummer1 Bildungsgrad1 Personenidentifikationsnummer2 Bildungsgrad2
1 101 Uni 102 Uni
2 201 Lehre 202 Maura
........

Kann mir da vielleicht jemand die Befehle sagen?
Ich hoffe ich habe mich verständlich ausgedrückt. :roll: LG

Re: Korrelation Pearson

Verfasst: Sa Jul 07, 2018 5:53 pm
von consuli
M_Hanko hat geschrieben: Sa Jul 07, 2018 11:05 am Meine Überlegung ist, die Zeilen nach der Haushaltsnummer zusammenzufügen, sodass ich mal die Indiviuen zu Paaren zusammengefügt habe und daraus dann die (Pearson-)Korrelation für die Bildung berechnen kann.

Ich hoffe ich habe mich verständlich ausgedrückt.
Verständlich ausgedrückt hast Du Dich schon. Nur leider existiert das gewünschte nicht.

Deine Variable Bildung (Matura, Lehre, Uni) ist natürlicher Weise nominal skaliert. D.h. es ist zunächst einmal einfach nur eine ranglose Kategorisierung wie die Farben blau, grün, rot.

Für nominal skalierte Variablen gibt es keine Korrelation sondern Kreuztabellen basierte Zusammenhangmaße. Das am häufigsten verwendete ist Cramer's V. Wenn Du Cramer's V rechnen willst, dann musst Du die Daten so anliefern wie die korrespondierende R-Funktion sie angeliefert haben will.

Eine andere Möglichkeit besteht darin, die originär nominal skalierte Variable nachzudefinieren, und zwar
  1. nach ordinal zu überführen Uni besser Lehre besser Matura oder
  2. nach pseudo-intervallskaliert bzw. pseudo-metrisch zu überführen (Uni= 1, Lehre= 0,7, Matura= 0,4)


Auf den ordinalen oder pseudometrischen Daten könntest Du dann Deine Korrelation rechnen. Auch hier müsstest Du die Daten wieder so anliefern, wie die R-Funktion cor() sie angeliefert haben will (als zwei Vektoren).

Consuli

Re: Korrelation Pearson

Verfasst: So Jul 08, 2018 9:31 am
von M_Hanko
Hallo, danke für die Antwort.
Dann werd ich sie vmtl. Reihen oder Kontingenztabellen erstellen.

Aber mal viel wichtiger, gibt es eine Antwort zur ursprünglich gestellten Frage mit den Zeilen zusammenfügen?

LG

Re: Korrelation Pearson

Verfasst: So Jul 08, 2018 3:41 pm
von M_Hanko
Danke, ich hab das jetzt so hinbekommen, dass ich zunächst die Daten aufgeteilt habe in Persoenendaten1 und Personendaten2 und das ganze dann nach Haushaltsnummer gemerged habe.

Danke mal für deine Hilfe Consuli. Es werden im Laufe der Zeit bestimmt noch Fragen auftauchen.

Re: Korrelation Pearson

Verfasst: Mo Jul 09, 2018 7:46 pm
von consuli
M_Hanko hat geschrieben: So Jul 08, 2018 9:31 am Aber mal viel wichtiger, gibt es eine Antwort zur ursprünglich gestellten Frage mit den Zeilen zusammenfügen?
Du meinst die Umwandlung der Variable Bildung vom Longformat in separate Spalten?

Code: Alles auswählen

reshape(dataframe, timevar = "Personenidentifikationsnummer", idvar = "Haushaltsnummer", direction = "wide")
oder 
reshape(dataframe, timevar = "Haushaltsnummer", idvar = "Personenidentifikationsnummer", direction = "wide")
Consuli

Re: Korrelation Pearson

Verfasst: Mo Aug 13, 2018 9:57 am
von M_Hanko
Genau das meinte ich. Danke Consuli.


Ich bin jetzt beim letzten Schritt von meinen Berechnungen und zwar dem Randomisieren.
Gibt es eine Möglichkeit eine Variable (Income.y) unter der Bedingung zu randomisieren, dass die Differenz von zwei anderen Variablen (age.x - age.y) kleiner 11 Jahren ist?

Es soll also das Einkommen.y randomisiert werden, aber der Altersunterschied bei der Zuordnung soll nicht mehr als 10 Jahre sein.

Zudem würde ich gerne eine 3. Variable (occupation.y) bei der Randomisierung "mitnehmen".

Beispiel:

Bild

Sollte dann circa so aussehen:

Bild

Freundliche Grüße und danke vorab.