Datenstruktur für Rang-Korrelationstest in R

Bivariate Korrelation, partielle Korrelation und Rangkorrelation.

Datenstruktur für Rang-Korrelationstest in R

Beitragvon Geo2702 » Fr 16. Aug 2013, 09:31

Guten Morgen,

ich habe eine Tabelle die folgende Informationen enthält:

Region 1 Anzahl Unternehmen Anzahl Personen BIP
Name R1 4 10.000 3894239

Die Daten sind nicht normalverteilt, gleiches gilt für die Residuen. Um einen Zusammenhang zwischen den Daten prüfen zu können möchte ich daher einen Rang Korrelationstest durchführen. Ich verstehe aber nicht welche Datenstruktur ich in R dafür benötige.
Die Daten für eine Rang-Korrelation sind doch nicht aggregiert,so dass ich für Anzahl der Unternehmen in diesem Beispiel vier mal "R1"; bei Anzahl Personen 10.000 mal "R1" und beim BIP 3894239 mal "R1" haben müsste, oder?

Daraus resultieren drei Fragen:
1. Ist meine Annahme bzgl. der Datenstruktur richtig?
2. Wie kann ich eine solche Datenstruktur in "R" herstellen (ich glaube über eine Matrix)?
3. Welche weiteren Test-Möglichkeiten gibt es für die Zusammenhänge von nicht-normalverteilte Daten (irgendeine Form der Regression?


Ich danke euch für die Unterstützung und hoffe auf erkenntnisbringende Antworten.
Geo2702
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Fr 16. Aug 2013, 09:06
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon DHA3000 » Fr 16. Aug 2013, 11:43

Kannst du einmal deine Tabelle genauer beschreiben? Ich verstehe nicht, was du du mit diesen vier Einträgen meinst. Hast du ganz viele Regionen pro Land, wo dann Unternehmen zusammengezählt sind, deren Mitarbeiter und das Bip der Region oder wie?

Für eine weiterführende, statistiksche Analyse müsste man erst einmal diene Fragestellung kennen.

Bei einer Regression müssen nicht die Variablen, sondern die Residuen normalverteilt sein.
DHA3000
Elite
Elite
 
Beiträge: 478
Registriert: So 8. Jul 2012, 15:08
Danke gegeben: 0
Danke bekommen: 62 mal in 62 Posts

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon bele » Fr 16. Aug 2013, 12:17

Hallo Geo2702,

mir geht es wie DHA3000 - ich kann über Dein Problem höchstens Vermutungen anstellen. Für eine Rangkorrelation brauchst Du in R zwei Vektoren mit den Werten. Die übergibst Du dann der Funktion cor.test().
In welcher Form Deine Daten vorliegen und zwischen welchen Daten Du jetzt die Korrelation rechnen möchtest, ist noch nicht klar. Kleiner Tipp: Zum beschreiben der Dir vorliegenden Datenstruktur hilft es oft, die Ausgabe der Funktionen str() und summary() - jeweils angewendet auf Deinen Datensatz, ins Forum zu kopieren (mit [code ]-Tags bitte).

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5781
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1358 mal in 1345 Posts

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon Geo2702 » Fr 16. Aug 2013, 13:45

Hallo Bernhard, hallo DHE3000,

danke für eure Antworten. Anbei die beiden Auszüge.

Dazu noch ein paar Erklärungen
"ADI": Anzahl von Unternehmen (metrisch)
"Ausl_2011": Anzahl von Ausländern
"siedlungsstrukturelle Kreistypen": Art der Verstädterung (Werte 1-4 ordinal)
"Staed_Laendl_Raum": Stadt oder Land (Werte 1 oder 2 nominal)
"BIP_2010": BIP in Euro
Erw_2010: Erwerbstätige
Bev_2011: Bevölkerung (letzten drei alle metrisch)

> summary(Kreise)
ADI Ausl_2011 siedlungsstrukturelle_Kreistypen Staed_Laendl_Raum BIP_2010 Erw_2010 Bev_2011
Min. : 0.0000 Min. : 28.0 Min. :1.000 Min. :1.000 Min. : 888715 Min. : 19094 Min. : 33807
1st Qu.: 0.0000 1st Qu.: 147.5 1st Qu.:2.000 1st Qu.:1.000 1st Qu.: 2432831 1st Qu.: 46172 1st Qu.: 105463
Median : 0.0000 Median : 252.0 Median :3.000 Median :2.000 Median : 3874650 Median : 68304 Median : 149414
Mean : 0.5101 Mean : 493.2 Mean :2.576 Mean :1.503 Mean : 6238791 Mean : 102149 Mean : 206156
3rd Qu.: 0.0000 3rd Qu.: 482.8 3rd Qu.:3.000 3rd Qu.:2.000 3rd Qu.: 6654873 3rd Qu.: 111625 3rd Qu.: 242041
Max. :23.0000 Max. :16933.0 Max. :4.000 Max. :2.000 Max. :98751797 Max. :1682424 Max. :3501872
NA's :2 NA's :2 NA's :2 NA's :1 NA's :1 NA's :1

> str(Kreise)
'data.frame': 398 obs. of 7 variables:
$ ADI : num 13 23 0 1 0 0 0 0 0 0 ...
$ Ausl_2011 : int 8072 16933 236 894 636 179 200 343 252 265 ...
$ siedlungsstrukturelle_Kreistypen: num 1 1 4 1 1 3 4 3 4 3 ...
$ Staed_Laendl_Raum : num 1 1 2 1 1 2 2 2 2 2 ...
$ BIP_2010 : int 92167776 98751797 3085303 8779399 6106418 2433819 3306987 3488098 4681353 3942051 ...
$ Erw_2010 : num 1125040 1682424 55303 159239 121284 ...
$ Bev_2011 : num 1798836 3501872 89357 242041 210577 ...
>

ich möchte nun den Zusammenhang zwischen ADI und den anderen Variablen prüfen. Die Angaben beziehen sich jeweils immer auf eine Region die dahinter steht. Nach meinem Verständnis brauche ich für einen Rang-Korrelationstest eine andere Datenstruktur nämlich eine in der für die "Region xy" nicht steht 23 Unternehmen sondern eine Liste in der die Region "xy" 23 mal einzeln genannt ist.

Wie kann ich aus diesen Daten nun einen Zusammenhang prüfen? ich hoffe ich konnte euch genügend anhaltspunkte liefern!!!

Vielen Dank,
Geo2702
Geo2702
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Fr 16. Aug 2013, 09:06
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon bele » Fr 16. Aug 2013, 14:03

Hallo Geo,


Nach meinem Verständnis brauche ich für einen Rang-Korrelationstest eine andere Datenstruktur nämlich eine in der für die "Region xy" nicht steht 23 Unternehmen sondern eine Liste in der die Region "xy" 23 mal einzeln genannt ist.


Ich verstehe nicht, warum Du so eine komische Datenstruktur erstellen willst und welche Werte darin enthalten sein sollen.

Jede der 398 Zeilen repräsentiert einen Kreis. Du willst z. B. wissen, ob die Zahl der Unternehmen mit der Zahl der Ausländer im Kreis korreliert. Richtig?

Dann probier mal
Code: Alles auswählen
cor.test(Kreise$ADI, Kreise$Ausl_2011, method="spearman")


Tut das, was Du willst?

LG,
Bernhard
Zuletzt geändert von bele am Fr 16. Aug 2013, 14:26, insgesamt 1-mal geändert.
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5781
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1358 mal in 1345 Posts

folgende User möchten sich bei bele bedanken:
Geo2702

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon bele » Fr 16. Aug 2013, 14:18

PS: Bitte nicht wundern, wenn alle Korrelationen gering sein sollten: Mindestens drei Viertel Deiner Datensätze enthalten Anzahl der Unternehmen = 0. Poste vielleicht mal das Ergebnis von sum(Kreise$ADI==0) . Wenn Du uns so viel Einblick in Deine Daten gewähren willst, dann poste auch mal die Grafik, die von folgendem Kommando geplottet wird: pairs(Kreise)
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5781
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1358 mal in 1345 Posts

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon Geo2702 » Fr 16. Aug 2013, 15:29

Hallo Bernhard,

vielen Dank für die Antwort, aus der ich meine Frage glaube ich beantworten kann.
Wenn ich diesen Befehl einfach ausführen kann, dann habe ich ja anscheinend die richtige Datenstruktur für den Test? Die Ausgangsfrage im Raum ist ja immer noch ob meine Datenstruktur dafür passt, denn ich dachte ich bräuchte eine Struktur in der in Spalte 1 z.B. 23 Mal "Region 1" steht wenn in der Region 23 Unternehmen sind und in Spalte 2 steht dann 4.000 mal "Region 1" wenn es dort 4.000 Ausländer gibt und Spalte 2 die Ausländer beinhaltet. Bei mir hat jede Region genau eine Zeile.
--> Das funkioniert? (tut mir leid wenn ich da so oft nachfrage)
Anbei hab ich mal das Diagram mit hochgeladen. Die Ballung der Werte bei Null kann man ziemlich deutlich erkennen. :)

Danke für deine Unterstützung.
Dateianhänge
Plot.tiff
Plot.tiff (115.77 KiB) 2413-mal betrachtet
Geo2702
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Fr 16. Aug 2013, 09:06
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon bele » Fr 16. Aug 2013, 15:49

Hallo Geo2702,

so wie ich Deine Aufgabe verstehe, kannst Du einfach das o. g. Kommando ausführen und Deine Datenstruktur ist genau richtig. Ich wüsste nicht, wozu eine Datenstruktur wie Du sie erdacht hast gut sein sollte. Die Grafik deutet an, dass es brauchbare Korrelationen zu geben scheint.
Viel Glück damit.

LG,
Bernhard
----
`Oh, you can't help that,' said the Cat: `we're all mad here. I'm mad. You're mad.'
`How do you know I'm mad?' said Alice.
`You must be,' said the Cat, `or you wouldn't have come here.'
(Lewis Carol, Alice in Wonderland)
bele
Schlaflos in Seattle
Schlaflos in Seattle
 
Beiträge: 5781
Registriert: Do 2. Jun 2011, 23:16
Danke gegeben: 15
Danke bekommen: 1358 mal in 1345 Posts

folgende User möchten sich bei bele bedanken:
Geo2702

Re: Datenstruktur für Rang-Korrelationstest in R

Beitragvon Geo2702 » Fr 16. Aug 2013, 16:30

Hi,

vielen Dank für deine erneute schnelle Antwort. Ich bin sehr beruhigt, dann werde ich mit diesen Daten arbeiten.

Danke!!!
Geo2702
Grünschnabel
Grünschnabel
 
Beiträge: 7
Registriert: Fr 16. Aug 2013, 09:06
Danke gegeben: 2
Danke bekommen: 0 mal in 0 Post


Zurück zu Korrelationen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste