我最近询问了question关于SAS的分组问题。借鉴这个问题,并使用相同的数据集,我正在努力制作一个盒子图。
数据如下所示:
Date Close Volume
12/31/2014 222.41 2402097
12/30/2014 222.23 2903242
12/29/2014 225.71 2811828
12/26/2014 227.82 3327016
12/24/2014 222.26 1333518
12/23/2014 220.97 4513321
12/22/2014 222.6 4806917
12/19/2014 219.29 6910461
12/18/2014 218.26 7483349
12/17/2014 205.82 7367834
12/16/2014 197.81 8426105
12/15/2014 204.04 5218252
12/12/2014 207 7173782
这个数据集实际上涵盖了2013年的整整两年 - 14.我希望每年的箱形图和变量(关闭和交易量)。
以下是我的尝试:
proc boxplot data=tsla;
class Date;
format Date year.;
plot Close*Date;
run;
但是返回错误“
ERROR 180-322: Statement is not valid or it is used out of proper order.
162 format Date year.;
163 plot Close*Date;
164 run;
“
那么正确的顺序是什么?
我如何让SAS给我4个箱图? 2个变量(关闭和交易量)和两年(2013 - 14年)?
答案 0 :(得分:1)
class
中没有proc boxplot
声明。
首先,添加一个"年"变量使用数据步骤。
data tsla2;
set tsla;
year=year(date);
run;
按年份排序:
proc sort data=tsla2;
by year;
run;
在by
中使用proc boxplot
声明:
proc boxplot data=tsla2;
by year;
plot close*year;
plot volume*year;
run;
如果您希望为每个变量一起绘制所有年份,则无需对by
语句进行排序或使用。只是做:
proc boxplot data=tsla2;
plot close*year;
plot volume*year;
run;