2016-07-29 20 views
0

Ich habe einen Datensatz wie dieseSAS-Übersichtsdaten in die Linienliste übernommen?

YEAR GENDER RACE AGE COUNT 
2015 Female W 30 3 

So im Jahr 2015 gab es 3 White 30 Jahre Frauen. Ich möchte das in Linienlistendaten wie folgt transponieren:

YEAR GENDER RACE AGE 
2015 Female W 30 
2015 Female W 30 
2015 Female W 30 

Jede Hilfe würde sehr geschätzt werden! Vielen Dank!

Antwort

1

ich eine Zeile für Zwecke der Erläuterung hinzugefügt:

data have; 
    input YEAR GENDER $ RACE $ AGE COUNT; 
    datalines; 
    2015 Female W 30 3 
    2014 Male B 45 4 
; 

Der folgende Code wird hoffentlich erreichen, was Sie fordern:

data want (drop=i count); 
    set have; 

    do i = 1 to count; 
     output; 
    end; 
run; 
+0

das funktioniert, wenn ich es kopieren exactly- gibt es eine Möglichkeit, die do-Schleife zu ändern, wenn ich bereits einen Datensatz habe, den ich aus Excel importiert habe? – user6241156

+0

Sie sollten nichts in der do-Schleife ändern müssen. Haben Sie die "set have" -Anweisung an den Namen Ihrer importierten Datenmenge angepasst? – udden2903

+0

Ich habe das: Daten wollen (drop = ich zähle); set narcan; do i = 1 zu zählen; Ausgabe; Ende; laufen; (Narcan ist mein importiertes Dataset), und ich bekomme diese Fehlermeldung: "ungültige Schleifensteuerungsinformationen, entweder der ursprüngliche oder Ausdruck fehlt oder der nach Ausdruck fehlt, Null oder ungültig" – user6241156