2016-03-25 16 views
0
proc means data=tableepisodes noprint; 
output out=tableepisodes 
mean(%ratings %dummies)=%ratings %dummies; 
by ProgCodeID ProgSeasonCodeID year week 

ich durch einen SAS-Code las bedeuten, und ich bin nicht sicher, was der mittlere Teil des Codes der Fall ist,SAS PROC MEANS mit ausgewählten Spalten

es ist, dass es nur den Mittelwert% Bewertungen nimmt Variablen und hängen Sie die% Dummies Variablen an die Ausgabe an?

würde wirklich schätzen, wenn ich Hilfe zum Verständnis dieses Code-Snippet

+1

Sind Sie sicher, dass RATINGS und DUMMIES Makros und keine Makrovariablen sind? Wenn es sich um Makrovariablen handelt, würden Sie sie stattdessen als '& ratings' und' & dummies' bezeichnen. – Tom

Antwort

1

bekommen konnte, dass kein vollständiger Code-Schnipsel ist, und nein. Er berechnet den Mittelwert der Variablen, die in% rating AND% Dummies aufgelistet sind, vorausgesetzt natürlich, dass das in diesen Makros enthalten ist.

Ohne die Makrodefinitionen zu sehen, können wir nicht sicher sein, was es tatsächlich macht.

0

Wie geschrieben, der Code wird die Mittel der Variablen innerhalb der Makrovariablen Bewertungen und Dummies gespeichert zu bewerten. Unter Bewertungen als Beispiel nehmen wir an, es früher als so etwas wie definiert wurde:

%let ratings = good bad ugly; 

Also, wenn Sie es durch die proc Mittel passieren, % Bewertungen bewerten wird gut schlecht hässlich und SAS wird die Mittel aller drei Variablen nehmen.

Sie haben das proc geschrieben konnte bedeutet Funktion als:

proc means data = tableepisodes noprint; 
    by ProgCodeID ProgSeasonCodeID year week; 
    var good bad ugly; 
    output out = tableepisodes mean=/autoname; 
run; 

statt. (Beachten Sie auch, dass Sie hier Ihren ursprünglichen Datensatz überschreiben, den Sie möglicherweise vermeiden möchten.)

+0

'% ratings' ist keine Makrovariablenreferenz, es ist der Aufruf eines Makros mit dem Namen Bewertungen. Vermutlich wird dieses Makro eine Variablenliste zurückgeben. – Quentin

+0

Hoppla, du hast Recht. Guter Fang, danke! – superfluous