Spearman Correlation wiederholt für verschiedene Teile eines data.frames
Verfasst: Sa Mai 27, 2017 9:40 am
Die stark reduzierte Form meines Datensatzes sieht folgendermaßen aus:
Lies: Ich habe da für jedes report_ctry mehrere partner_ctry und dann Daten für mehrere Jahre. Was ich jetzt machen möchte ist die spearman correlation ausrechnen zwischen MONEY_ex und MONEY_im für jede Kombination von report_ctry und year. D.h. Ich möchte die Korrelation zwischen den beiden Variablen für AT im Jahr 2002, für AT im Jahr 2003, für AT im Jahr 2004, für BE im Jahr 2002 etc. Die Ergebnisse sollen jeweils bitte in einem Vektor gespeichert werden.
Die Korrelation an sich ist ja nun nicht so schwierig:
Ich vermute mal, man muss wieder mal mit lapply und function hantieren. Aber wie so oft ist aller Anfang in R sehr schwer, erst recht wenn man keinen Programmierer-Hintergrund hat.
Später möchte ich dann auch noch andere Sachen machen, z.B. Korrelationsmatrizen für jede Ausprägung von report_ctry. Das läuft ja dann vom Befehl her in dieselbe Richtung, nehme ich mal an.
Code: Alles auswählen
report_ctry partner_ctry year MONEY_ex MONEY_im WIOT_ex WIOT_im
1 AT DE 2002 8.5808372 16.1630741 34.591100 45.201509
2 AT ES 2002 1.2446250 4.7767391 2.656151 1.816262
3 AT FR 2002 4.4816485 11.0260916 5.083568 4.733376
4 AT IT 2002 3.0898398 0.1929551 10.143348 8.083901
5 AT DE 2003 5.6349645 14.5028460 34.435932 46.410414
6 AT ES 2003 1.6063861 0.1514109 2.633816 1.974869
7 AT FR 2003 5.9736713 13.3159089 4.917519 4.586031
8 AT IT 2003 1.7273679 4.7489207 10.075955 7.980019
9 AT DE 2004 17.9224117 30.2373377 34.298943 45.947375
10 AT ES 2004 3.4296986 8.3922485 2.608634 1.872469
11 AT FR 2004 6.4216556 7.5793763 4.319266 4.657179
12 AT IT 2004 7.4142497 4.0909515 9.669970 7.809957
13 BE DE 2002 9.9820546 0.0000000 20.237328 20.692120
14 BE ES 2002 0.7359349 5.7678236 3.936783 2.832228
15 BE FR 2002 8.4192416 20.7078779 17.434342 15.367698
16 BE IT 2002 0.0000000 17.9215481 6.655783 4.421916
17 BE DE 2003 0.0000000 15.2294935 20.638146 21.085703
18 BE ES 2003 0.7007664 1.7057427 3.940353 3.140245
19 BE FR 2003 9.9963343 0.0000000 18.158921 16.020745
20 BE IT 2003 8.6150366 3.1672175 6.717638 4.511633
21 BE DE 2004 5.9230610 0.0000000 21.101395 21.400769
22 BE ES 2004 5.0732147 6.6526799 4.001297 3.063394
23 BE FR 2004 17.0925231 10.5683422 18.076162 15.840100
24 BE IT 2004 2.7509869 7.4083929 6.498400 4.421462
Die Korrelation an sich ist ja nun nicht so schwierig:
Code: Alles auswählen
rcorr(df$MONEY_ex, df$MONEY_im, type="spearman")
Später möchte ich dann auch noch andere Sachen machen, z.B. Korrelationsmatrizen für jede Ausprägung von report_ctry. Das läuft ja dann vom Befehl her in dieselbe Richtung, nehme ich mal an.