箱形图,其中日期按年份分组

时间:2015-02-02 00:23:32

标签: sas boxplot

我最近询问了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年)?

1 个答案:

答案 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;