日期按年份分组的箱线图
Boxplots where date grouped by year
我最近问了一个 关于 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;
但是returns一个错误“
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)?
proc boxplot
中没有class
语句。
首先,使用数据步骤添加一个 "year" 变量。
data tsla2;
set tsla;
year=year(date);
run;
按年份排序:
proc sort data=tsla2;
by year;
run;
在proc boxplot
中使用by
语句:
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;
我最近问了一个
数据如下所示:
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;
但是returns一个错误“
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)?
proc boxplot
中没有class
语句。
首先,使用数据步骤添加一个 "year" 变量。
data tsla2;
set tsla;
year=year(date);
run;
按年份排序:
proc sort data=tsla2;
by year;
run;
在proc boxplot
中使用by
语句:
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;