sas编程习题与实例应用
一、数据集整理与SAS基本编程
1、试用产生标准正态分布函数的随机函数normal(seed)产生均值为170,方差为64的正态随机数100个,并计算其常规统计量(均值、标准差、变异系数、偏度和峰度)。
data date1;
mu=170;
sigma=8;
do i=1to100;
y=mu+sigma*RANNOR(0);
output ;
end;
run;
proc means data=data1 mean std cv stderr skewness;
var y;
output out=result;
run;
2、设已知数据集class中有5个变量:name, sex, age, height 和weight,请编写程序新建数据集class1,其中class1只包含name, sex, age三个变量,且把name重命名为id。
data class;
input name$ sex$ age heigh weigh;
cards;
小明男 15 160 50
;
run;
data class1;
set class;
keep name sex age;
rename name=id ;
run;
proc print data=class1;
;
run
3、SAS的逻辑库可分为永久库和临时库两种,请编写一段程序直接建立永久库sasuser中的下例数据集,并按降序排序。
数据名tong:20 13 20 16 23 19 19 16
data Sasuser.tong;
input x@@;
cards;
20 13 20 16 23 19 19 16
;
run;
proc sort data=Sasuser.tong;
by descending x ;
run;
proc print data=Sasuser.tong;
run;
4、设已知数据集data1和数据集data2
请编写程序串接data1和data2,且分组变量为number。
data data1;
input number province$;
cards;
1 Hebei
3 Zhejiang
5 Gansu
;
run;
data data2;
input number city$;
cards;
2 Chengdu
4 Nanjing
;
run;
data data;
set data1 data2;
by number;
run;
proc print data=data;
run;
二、描述统计
1、下表记录了某超市一个月内每天的营业额(千元),现用SAS 过程做描述统计,请根据给出的结果回答以下问题:
(1)、该超市一个月内的平均营业额,哪天最大、最小?
(2)、营业额的偏度、变异系数;
(3)、数据是否服从正态分布?(0.05
α=)data data1;
input number province$;
cards;
1 Hebei
3 Zhejiang
5 Gansu
;
run;
data data2;
input number city$;
cards;
2 Chengdu
4 Nanjing
;
run;
data data;
set data1 data2;
by number;
run;
proc print data=data;
run;
data a;
input date total;
cards;
;
proc univariate data=a ;
var total;
run;
2、假设某学校大学生的身高为X (记总体X 的均值为1μ,方差为21σ),体重为Y (记总体Y 的均值为2μ,方差为22σ),今从全校随机抽取100名学生,测得身高、体重数据如下,请根据输出结果回答以下问题:
1、身高、体重的均值12,μμ和方差2212,σσ的90%的置信区间;
data a;
input heigh@@ weigh@@; cards ; ; run ;
proc ttest data =a alpha =0.1; run ;
{169.31,171.09}{60.201,62.307}
2、分析100名学生身高数据频率直方图;
proc gchart data =a; vbar heigh/type =freq; run ;
3、对身高均值170cm μ=和方差2230cm σ=做假设检验;
0.7072>0.05 接受原假设
没有显著差异;
4、体重数据是否来自正态总体?
proc univariate data=a normal;
var weight;
run;
样本少于2000看第一个大于2000看第二个
因为0.4639大于0.05所以接受原假设
所以来自正态总体
三、假设检验
1、某生产企业进行技术改造,为考察改造是否对生产量有提高,记录改造前后各10天的产量(吨/天)的数据:
技术改造对产量是否有显著的影响(0.05α=)?
data test; input a b@@; cards ; run ;
proc ttest data =test; paired a*b; run ;
因为0.0384<0.05 拒绝原假设,使用新技术后有显著差异。
2、某工厂有两台不同型号的机器生产同一种产品,为检验这两台机器的产量是否有显著的差异,记录了某段时间的生产数据如下:
甲乙的产量是否有显著的差异(0.01α=)?
data test2;
input a$ b@@;
cards;
run;
proc ttest data=test2 alpha=0.01;
class a;
var b;
run;
因为0.6189>0.01,所以方差相等,看第一个equal,0.0024<0.01
拒绝原假设,两个独立样本有显著差异。
四、方差分析
1、生产配方问题。生产某种产品需要两种原材料:A和B;考察的指标为产品的产量Y。设因子A有三个品牌:A1,A2,A3;因子B有四个品牌:B1,B2,B3,B4。对这12中配搭的每一种,安排两次实验,得数据如下表(每次实验的产量):
(1)、原材料A的不同品牌对产量是否有显著的差别?哪个品牌更好些(0.05
α=)?
(2)、原材料B的不同品牌对产量是否有显著的影响?
(3)、A和B对产量的影响哪个更大些?
(4)、A和B是否有交互作用?
(5)、使产量达到最大的生产条件是什么?
data test3;
do a=1to3;
do b=1to4;
do c=1to2;
input x @@;
output;
end;
end;
end;
cards;
run;
proc glm data=test3;
class a b;
model x=a b a*b;
means a b a*b/t; /*多重比较设置*/
run;
因为0.0036<0.05 拒绝原假设,A品牌对产量有显著影响。
0.001<0.05 拒绝原假设,A品牌对产量有显著影响。
0.8995>0.05 接受原假设,A、B相互没有作用。
在A品牌中分成两组,a2和a1、a3.因为a2均值最大所以最好。
(如何判断看a1a3可分成一组看上面那个表格第五行,只要差值小于1.4596,即可看成一组,两个效果差不多。)
同理,b4最好。
若A、B相互不影响,那么使产量最大的组合可直接选择A、B分
别均值最大那个,即a2*b4.
若A、B相互影响,那么看这个表格均值最大那个。
2、考虑合成纤维收缩率(因子A)和总拉伸倍数(因子B)对纤维弹性Y的影响。设收缩率(A)有4个水平:A1,A2,A3,A4;总拉伸倍数(B)也有4个水平B1,B2,B3,B4。在每个组合下重复二次试验,弹性的数据如下表:
(1)、收缩率对弹性Y是否有显著的影响?哪个收缩率影响更大些?(0.05
α=)
(2)、不同拉伸倍数对产量是否有显著的影响?
(3)、收缩率和拉伸倍数是否有交互作用?
(4)、使弹性达到最大的生产条件是什么?
五、回归分析
1、某厂生产的一种产品的销售额Y与生产成本
x及销售成本2x有
1
关。现有10个城市销售数据记录如下,
(1)、建立销售量Y与生产成本
x及销售成本2x的回归关系式,
1
说明回归方程在0.05
α=的水平上是否显著?并解释回归系数的含义。data sale;
input x1 x2 y;
cards;
run;
proc reg data=sale;
model y=x1 x2 / r;
run;
因为0.0078小于0.05,所以模型达到显著水平。
回归关系式:y=79.88271+0.37176x1-0.31736x2
(2)、对回归模型进行初步诊断,并指出有无可疑点或异常点?
根据 Student Residual 或星星判断,得观测1、8、9的残差较大,说明这三个模型的预测结果不是很理想。
(3)、写出模型的决定系数、均方误差、均方误差的根,并说明决定系数的含义。
决定系数: R-Square=0.7499>0.5,说明多元回归模型的拟合程度较好。
均方误差:Mean Square Error =270.21070
均方误差的根:Root MSE=16.43809
(4)、该回归模型回归系数是否显著?可以从哪些方面对模型进行改进?
X1的回归系数p值=0.1265>0.05,不显著。
X2的回归系数p值=0.0029<0.05,显著。
(5)、如果
1170
x=元及2160
x=元,试预测该厂的销售量。
代进去。
2、某地区对某种电器的销售量Y进行调查,它与以下4个量有关:
x=居民可支配收入,2x=该电器平均价格指数,3x=该电器保有1
量,
x=其他电器平均价格指数。现有10个历史数据记录如下,
4
(1)、建立销售量Y与
x x的回归关系式,说明回归方程在
14
α=的水平上是否显著?
0.05
(2)、对回归模型进行初步诊断,并指出有无可疑点或异常点?
(3)、写出模型的决定系数、均方误差、均方误差的根,并说明决定系数的含义。
(4)、该回归模型回归系数是否显著?可以从哪些方面对模型进行改进?
六、属性数据分析
1、下表是对195名顾客的购买手机意愿(分为品牌机、山寨机、无所谓)的调查数据,同时记录了每位顾客的年收入经济状况(分为贫穷、下、中、上四个等级)。
请问购买何种手机是否与顾客的经济状况有关(0.01
α=)?如果有关两者有何趋势?
data test;
input a$ b$ x;
label a='购买手机意愿' b='经济状况';
cards;
品牌机贫穷30
品牌机下 15
品牌机中 11
品牌机上 12
山寨机贫穷7
山寨机下 18
山寨机中 19
山寨机上 29
无所谓贫穷 5
无所谓下 23
无所谓中 7
无所谓上 19
;
run;
proc freq data=test;
table a*b/expected chisq norow measures nopercent alpha=0.01;
weight x;
run;
2、巴西医生马廷思收集了580名犯有各种贪污、受贿罪的官员和580名廉洁官员之寿命调查数据,试分析贪污与寿命之间有无显著的关系?
请问短寿是否与贪污有关?如果有关两者有何趋势?