ich versuche, eine Scatterplot Vorlage zu verwenden ich innerhalb einer Schleife erstellt, so dass ich alle Plot Kombinationen zu fangen, aber ich sehe, dass ich nicht symputX für Arrays verwenden Anruf. Wie kann ich für solche Fälle einen Turnaround finden?
Oben finden Sie eines der Scatterplot-Beispiele für nur eine Kombination.
Danke
data work.mycsv;
set work.mycsv;
array temp[3] x y z;
call symputX('temp',temp);
run;
%macro scatter();
%let i = 1;
%do %while (&i <= 3);
%let j = %sysevalf(&i+1);
%do %while(&j <= 3);
%if &i ne &j %then %do;
proc template;
define statgraph scatterplot;
begingraph;
entrytitle "Title";
layout overlay;
scatterplot x=&&temp[&i.] y=&&temp[&j.]/
group=Survived name="scatter" datalabel=Response;
discretelegend "scatter";
endlayout;
endgraph;
end;
%end;
%let j =%sysevalf(&j + 1);
%end;
%let i = %sysevalf(&i + 1);
%end;
%mend scatter;
%scatter();
proc sgrender data=work.mycsv template=scatterplot;
run;
Es gibt kein Konzept für ein Makro-Array. Eine Analogie wäre eine Liste und Sie greifen nacheinander auf jedes Element zu, siehe das Beispiel http://support.sas.com/documentation/cdl/en/mcrolref/69726/HTML/default/viewer.htm#p1n2i0ewaj1zian1ria5579z1zjh.htm – Reeza
Was soll die Makrovariable TEMP enthalten? Wie viele Beobachtungen befinden sich in der Quelltabelle MYCSV? Veröffentlichen Sie ein einfaches Beispiel für MYCSV und die daraus resultierenden SCATTERPLOT-Anweisungen, die Sie generieren möchten. – Tom
Hallo Tom, ich habe das Scatterplot-Beispiel für nur 1 Kombination hinzugefügt, ich möchte das selbe für alle Kombinationen erzeugen, (in diesem Fall 3 Kombinationen). Ich habe 3 numerische Parameter und 900 Beobachtungen.Regards –