Variabler Prefix bei PROC Transpose

Liebe Forumgemeinde,

ich möchte die Ergebnisse der PROC MEANS (für mehrere Variablen) gerne Transponieren, sodass ich dann für jede BY-Variable eine Zeile habe. Im konkreten Beispiel möchte ich gerne für jede Klinik_id die Variablen alter_n alter_min alter_mean alter_max alter_std dauer_n dauer_min dauer_mean dauer_max dauer_std erhalten und nicht wie bisher für jede Variable eine Zeile.

PROC MEANS data=test; by klinik_id; output out=rrr ; var dauer alter; RUN;

PROC TRANSPOSE data=rrr out= ttt ;
by klinik_id;
var dauer alter;
id _stat_;
RUN;

Jedoch kann man bei der Variablen Prefix nur einen String angeben. Kann man hier durch einen Trick mehrere Strings über geben in Abhängigkeit von bestimmten Fällen?
Oder kennt jemand einen eleganteren Weg dieses Problem zu lösen?

Danke im Voraus.

Hallo Chris86, das geht doch

Hallo Chris86,

das geht doch ohne Transpose:

PROC MEANS data=test;
by klinik_id;
var dauer alter;
output out=rrr mean(Dauer)=dauer_mean min(dauer)=dauer_min .... usw.;
RUN;

Gruß Mk

Vielen Dank. Manchmal sieht

Vielen Dank.

Manchmal sieht man den Wald vor lauter Bäumen nicht ;-)

Hierzu noch eine kleine

Hierzu noch eine kleine Frage, gibt es so eine ähnliche Funktionalität auch für die PROC FREQ?
Ich bräuchte nämlich von mehreren numerischen Variablen die Anzahl der einzelnen Ausprägungen.

So dass etwas wie

PROC FREQ data=test noprint; by klinik_id;
table gender / out=out1 Count(gender=1)=anteil_w Count(gender=2)=anteil_f ;
RUN;

würde mir sehr viel Arbeit ersparen, wenn es denn sowas gibt! Standardmäßig kann man ja nur pro Output-Datei eine Variable analysieren lassen und erhält pro Klinik soviele Zeilen, wie die Variable Ausprägungen hat. Nun möchte ich aber die Anzahl und Prozente pro Klinik in einer Zeile zusammengefasst haben, ohne einen weiteren Schritt über (if then output) oder die Daten zu transponieren.
Bin gespannt auf eure Antworten