2016-12-02 4 views
0

Kann mir jemand helfen, wie ich die Korrelation zwischen zwei Variablen innerhalb jeder Gruppe in Proc Sql berechnen kann? Gibt es eine solche Funktion nur als Summe oder Mittelwert? Danke vielmals!proc sql Korrelation

+0

Warum möchten Sie dies in SQL tun? Sie haben SAS, verwenden Sie also das entsprechende Werkzeug - in diesem Fall 'proc corr'. – user667489

+0

Ich möchte etwas wie proc sql; select groupvar, corr (var1, var2) aus der Tabellengruppe nach groupvar; Ich brauche die Korrelationsvariable als eine Spalte im endgültigen aggregierten Datensatz. – tomtomxu

+0

bitte posten Sie einige Beispieldaten und zeigen Sie das erwartete Ergebnis an – TheGameiswar

Antwort

0

Sie sollten proc corr verwenden, um damit zu beginnen, da dies alle erforderlichen Berechnungen durchführt, die den größten Teil des Weges dorthin bringt. Sie müssen das Ausgabe-Dataset filtern und in Ihr gewünschtes Format transponieren. Es gibt viele Antworten auf dieser Seite, die zeigen, wie man so etwas macht, also werfen Sie einen Blick auf diese - in diesem Fall ist eine weite bis lange Transposition erforderlich.

proc sort data = sashelp.class out = class; 
    by sex; 
run; 

proc corr data = class outp=mypcorr noprint; 
    var HEIGHT WEIGHT; 
    by SEX; 
run;