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
Wiederholen eines Wertes in Datalines (zur Erstellung von Beispieldatensätzen)

Hallo,

 

zur besseren Verständlichkeit möchte ich einen Beispieldatensatz (für einen anderen Post) generieren. Dieser sollte ca. 1000 DS beinhalten.

 

Jetzt möchte ich nicht jede Zahl einzeln in einem datalines einfügen. Von R kenne ich die Funktion, dass man über rep(value,times) z. B. die Zahl 1 zehn mal wiederholen kann: rep(1,10) = 1,1,1,1,1,1,1,1,1,1

 

Wie kann ich das in SAS realisieren?

 


data rep;
   infile datalines ;
   input var;
   datalines;                      
1
.
. /*1 - Tausend mal wiederholt???*/
.
1
;
Esteemed Advisor
Beiträge: 5.980
Re: Wiederholen eines Wertes in Datalines (zur Erstellung von Beispieldatensätzen)
%let n=10;

data rep (drop=i var);
array vars {&n} var1-var&n;
input var;
do i = 1 to &n;
  vars{i} = var;
end;
cards;
1
;
run;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
New Contributor
Beiträge: 3
Re: Wiederholen eines Wertes in Datalines (zur Erstellung von Beispieldatensätzen)

Hallo,

 

um jede Dataline x-mal zu wiederholen solltest Du folgendes tun:

 

 

%let n=10;

data rep (drop=i);
    input var;
    do i = 1 to &n;
        output;
        end;
    cards;
1
    ;
run;

 

Contributor
Beiträge: 24
Re: Wiederholen eines Wertes in Datalines (zur Erstellung von Beispieldatensätzen)
[ Bearbeitet ]

Hallo SMartin_82,
Der Unterschied zum Beispiel von KurtBremser ist, dass hier 10 Zeilen angelegt werden, beim anderen Beispiel 10 Spalten.
Data rep;
  input var;
  do i = 1 to 10
    output;
  end;
  drop i;
  cards;
1
run;
Viele Grüße
Jan