SAS学习笔记(四)第8/9/10章

本文详细介绍了SAS中ODS图形的使用,包括条形图、直方图、散点图、序列图、拟合曲线等各种图形的绘制方法。同时,讲解了如何控制坐标轴、图例、插入项以及自定义图形属性。此外,还涵盖了基本统计过程如proc univariate、proc ttest、proc freq和proc corr的应用,包括统计图形的生成和相关性检验。最后,探讨了数据导出的不同方法,如导出CSV和Excel文件。
摘要由CSDN通过智能技术生成

一、可视化数据

1. ODS图形概述

在统计过程中使用图形: ods图形选项默认是开启的,若你发现是关闭的,则在将要运行的程序之前用以下语句开启:ods graphics on;则支持ods图形的统计过程将绘制相应的图形。
一般情况下没有必要关闭ods图形选项,如果要关闭,用以下语句:ods graphics off;
注意,ods图形并不是目标(如HTML或PDF),打开或关闭ods输出目标,也就打开或关闭ods图形。
使用ods图形绘制单独图形: ods图形还包括一系列旨在创建单独图形(图形没有嵌入在统计过程的输出结果中)的程序,sgplot和sgpanel是其中的两个过程。并不是总是要用ods graphics on;语句,因为这些过程产生图形,但有些情况下要用。
sgplot过程绘制单框图,而sgpanel过程可绘制基于分类变量的多框图。图形可分为三大类:

ods输出目标
保存图形: 图形默认存到work临时逻辑库。
图形样式: ods样式模板控制输出的整体外观,用style=指定图样式。

对于listing输出目标,style=仅适用于图形输出,表格输出仍为文本。
查看ods图形

2. ods图形绘制

2.1 绘制条形图

条形图显示分类变量的分布,每个条形长度与该类别的观测频数成正比。用vbar语句可以创建条形图:

proc sgplot;
   vbar variable-name / option;

创建水平条形图用hbar替换vbar即可。条形图选项包括:

例:A,Pear,A,80%Cacao,A,EarlGrey,C,80%Cacao,A,Ginger,C,Pear
C,80%Cacao,C,Pear,C,Pear,A,EarlGrey,A,80%Cacao,C,80%Cacao
A,Ginger,A,Pear,C,EarlGrey,C,80%Cacao,A,80%Cacao,A,EarlGrey
A,80%Cacao,C,Pear,C,Pear,A,80%Cacao,C,Pear,C,80%Cacao
变量为:年龄组(A表示成人,C表示儿童),喜欢的味道(四种类型)。

data survey;
infile 'E:\SAS\sas\sas数据\第8章\8.2巧克力.csv' dlm=',';
input agegroup $ favorite $ @@;
run;
proc format;
value $AGEgroup 'A'='adult'
                'C'='Children';
run;
proc sgplot;
vbar favorite / group=agegroup barwidth=0.5;     #这里是默认的条形方式,cluster的方式是第二个图
format agegroup $AGEgroup.;
run;


2.2 绘制直方图和密度曲线

直方图显示连续数据的分布。数据分成的离散间隔成为直条(bin),条形图的条形间通常有间隙,直方图没有。
直方图: 用histogram语句绘制,基本形式如下:

proc sgplot;
histogram variable-name / options;

可能的选项包括:

密度曲线: density语句基本形式如下:

proc sgplot;
density variable-name / options;

常见的选项有:

histogram语句和densuty语句可以一起使用,但不能和其他类型的图形一起用。

例:Bella,4,Anthony,9,Joe,10,Chris,6,Beth,5,Danel,2
David,7,Emily,7,Josh,7,Will,9,Olivia,7,Matt,8
Maddy,8,Sam,13,Jessica,6,Jose,6,Mia,12,Elliott,8
Tyler,15,Lauren,10,Cate,14,Ava,11,Mary,9,Eric,10
Megan,13,Michael,9,John,18,Alex,5,Cody,11,Amy,4

data centest;
infile 'E:\SAS\sas\sas数据\第8章\8.3四年级.csv' dlm=',';
input name $ books @@;
run;
proc sgplot;
histogram books / binwidth=2 showbins scale=count;
density books;               #这里生成两个密度曲线,一个type是默认的normal,即正太曲线,
                              一个是核密度曲线
density books / type=kernel;
run;


如果代码是

proc sgplot;
histogram books / binwidth=2 showbins scale=count;
proc sgplot;
density books;
run;

则两个曲线会分别在两张图上。

2.3 绘制盒形图(箱线图)

显示连续数据的分布。盒形图用vbox语句绘制,其基本形式如下:

proc sgplot;
vbox variable-name / options;

绘制水平盒形图用hbox替换vbox,盒形图选项包括:

group的用法我还不知道。
vbox和hbox语句不能跟创建其他图形的语句一起使用。

例:Adult,44,Adult,33,Youth,33,Masters,38,Adult, ,
Masters,32,Youth,32,Youth,38,Youth,33,Adult, ,
Masters,37,Masters,46,Youth,34,Adult,42,Youth, ,
Masters,33,Adult,44,Youth,35,Adult,49,Adult, ,
Adult,39,Adult,42,Adult,32,Youth,42,Youth, ,
Masters,33,Adult,33,Masters,32,Youth,37,Masters, ,
变量为:年龄组,自行车圈数。画盒形图。

data bicycle;
infile 'E:\SAS\sas\sas数据\第8章\8.4自行车比赛.csv' dlm=',';
input agegroup $ numberslap @@;
run;
proc sgplot;
vbox numberslap / category=agegroup ;
run;

2.4 绘制散点图

散点图是展示两个连续变量之间关系的有效方式。用scatter绘制,基本形式如下:

proc sgplot;
scatter x=horizontal-variable y=vertical-variable / options;

选项包括:

例:Robin,S,28,41,Bald Eagle,R,102,244,Barn Owl,R,50,110
Osprey,R,66,180,Cardinal,S,23,31,Goldfinch,S,11,19
Golden Eagle,R,100,234,Crow,S,53,100,Magpie,S,60,60
Elf Owl,R,15,27,Condor,R,140,300,
变量为:名字,类型,长度,翼展。画翼展和长度的散点图,将类型格式化,R是Raptors S是Songbirds。

data bird;
infile 'E:\SAS\sas\sas数据\第8章\8.5鸟.csv' dlm=',';
input name :$12. type $ length winspan @@;
run;
proc format;
value $typ 'R'='Raptors' 'S'='Songbirds';
proc sgplot;
scatter x=winspan y=length / group=type;
format type $typ.;
run;

2.5 绘制序列图

序列图与散点图类似,但序列图会对数据点标记,然后用直线连起来。当数据需要按照特定顺序显示时,适合用序列图,如时间序列。序列图用series语句绘制,一般形式为:

proc sgplot;
series x=horizontal-variable y=vertical-variable / options;

选项包括:

sas会按照数据点在数据集中的顺序连接每个数据点,所以要确保数据按照水平轴变量排序。

例:0,0.22,1,0.15,2,0.17,3,0.18,4,0.19,5,0.23
6,0.5,7,0.63,8,0.61,9,0.6,10,0.48,11,0.45
12,0.44,13,0.44,14,0.39,15,0.35,16,0.42,17,0.47
18,0.7,19,0.66,20,0.7,21,0.69,22,0.6,23,0.4
变量为:时间(24小时制),千瓦时数。画序列图,并对每个数据点做标记。

data electric;
infile 'E:\SAS\sas\sas数据\第8章\8.6用电量.csv' dlm=',';
input time kwh @@;
run;
proc sgplot;
series x=time y=kwh / markers;
run;

2.6 绘制拟合曲线

散点图绘制了两个变量的关系,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值