Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Occasional Contributor
Beiträge: 12
Korrelationsmatrix Werte filtern bzw. Ausgabe der Koeffizienten nur ab Wert x

Hallo,

 

ich erstelle mit proc corr eine Korrelationsmatrix. Ab einer gewissen Variablen-Anzahl finde ich die Ausgabe nicht mehr wirklich gut lesbar.

 

Gibt es eine Möglichkeit, dass ich mir nur bestimmte Werte aus der Korrelationsmatrix anzeigen lassen kann? Z. B. nur Koeffizienten die über einem gewissen Schwellenwert liegen z. B. 0.5? Oder das die Werte irgendwie farblich markiert werden?

 

Ich habe es mit der Option RANK versucht - das sortiert die Werte zumindest, aber ich finde es auch nicht wirklich übersichtlich.

 

Viele Grüße,

Silke

 

 

Frequent Contributor
Beiträge: 109
Re: Korrelationsmatrix Werte filtern bzw. Ausgabe der Koeffizienten nur ab Wert x
[ Bearbeitet ]

Hallo Silke,

 

ich arbeite fast nie mit der "print-Ausgabe", sondern immer mit Tabellen.

Da bietet sich an, dass man einfach mit der Ausgabetabelle von proc corr weiter arbeitet.

Hier mal ein kleines Beispiel:

 

proc corr data=sashelp.cars out=work.tmp;
run;

data work.want;
set work.tmp;
array alles _numeric_;
do over alles;
if alles lt 0.5 then alles = .;
alles = round(alles,0.01);
end;
run;

Einfacher Fall: Die Ausgabe von proc corr verwende ich weiter und lege dort ein Array über alle numerischen Variablen. Wenn die Variable über dem Schwellwert (hier 0.5)  ist, wird sie beibehalten, ansonsten auf missing gesetzt. Das schafft zumindest etwas übersichtlichkeit.

 

Ich hoffe, das hilft vielleicht ansatzweise weiter.

 

Beste Grüße

Michael

 

Edit: ich habe noch ein "round" eingefügt, damit das Ergebnis besser abzulesen ist. Natürlich kann man sich jetzt gleich fragen, ob zuerst das round stehen soll oder zuerst die Prüfung, ob der Schwellwert erreicht ist ... ;-)