2013-11-02 59 views
1

我一直在尝试使用SAShelp库'Class'在SAS中创建矢量图。目标是在x和y变量的相应平均值中用向量的起源作矢量绘图。我用下面的代码:SAS矢量图:矢量线消失

DATA class2; 
SET Sashelp.class; 
x = mean(height); 
y=mean(weight); 
run; 
PROC SGPLOT DATA = class2; 
VECTOR X = height Y = weight/XORIGIN = x YORIGIN = y; 
run; 

我因此首先创建两个新的变量,包含X和Y变量的装置。然后,我想把这些矢量的起源放在这些起源中,但是当我这样做时,矢量在我的情节中消失了,我得到的只是一些有点的情节。

有关如何解决这个问题的任何建议,尤其是如何导致矢量消失?

谢谢你在前进, 公园

回答

3

平均值()函数不会在整个数据集工作。数据步骤一次处理单个记录(将其视为SAS写入外部循环以供您处理)

您可以使用SQL获取方法,然后将它们添加到数据集中。标签为您

proc sql noprint; 
select mean(height), mean(weight) 
    into :mh, :mw 
    from class2; 
quit; 

DATA class2; 
SET Sashelp.class; 
x = &mh; 
y= &mw; 
run; 

PROC SGPLOT DATA = class2; 
VECTOR X = height Y = weight/XORIGIN = x YORIGIN = y datalabel=name; 
run; 

产生以下: enter image description here