1.掌握SAS统计量计算、频率分布等描述性统计操作;
2.掌握SAS常用统计图绘制过程步操作;
3. 学习SAS制表过程PROC REPORT;
4.掌握SAS样本均值显著性检验及区间估计的操作。
习题:
(一) 在小麦育种时,调查了杂交后代的四个性状,即:株高、穗长、穗粒数和成熟早晚,数据见“wheat.txt”。请分别用hop、loe、nog和fas代表上述四个变量,以成熟的早(e)、中(m)、晚(l)分类。
数据读入
data wheat;
infile "/home/u45803045/my/my02/wheat.txt";
input hop loe nog fas $ @@;
run;
question 1:编写SAS程序计算按成熟期早、中、晚分组的株高与穗长的平均数、标准差和标准误差以及穗粒数的范围和变异系数。
proc means data=wheat mean std stderr;
var hop loe;
class fas;
run;
proc means data=wheat range cv;
var nog;
class fas;
run;
result:
question 2:绘制按成熟期分组显示的株高数据箱式图
proc sort data=wheat;
by fas;
run;
proc univariate data=wheat plot;
var hop;
by fas;
run;
result:
question 3:绘制按成熟期分组显示的株高、穗长、穗粒数均值条形图(株高、穗长、穗粒数均在同一图中),标题为“不同成熟期小麦株高、穗长、穗粒数的比较”;
data wheat2;
set wheat;
value = hop;type = 'hop';output;
value = loe;type = 'loe';output;
value = nog;type = 'nog';output;
keep value type fas;
run;
proc gchart data=wheat2;
vbar fas/discrete group=type subgroup=fas sumvar=value type=mean outside=mean width=5;
title "不同成熟期小麦株高、穗长、穗粒数的比较";
run;
result:
question 4:作穗长与穗粒数关联性分析的散点图,标题为“小麦穗长与穗粒数的散点图”。
proc gplot data=wheat;
plot loe*nog/vaxis=6 to 9 by 1;
goption vsize=5cm
hsize=5cm;*考虑到结果要上交,调整了一下大小;
title "小麦穗长与穗粒数的散点图";
run;
result:
(二)调查100名成年男子血清总胆固醇含量(mg/L),数据见文件“cholestrol.dat”。
读入数据:
data cholestrol;
infile "/home/u45803045/my/my02/cholestrol.dat";
input TC @@;
run;
计算胆固醇含量的四分位间距
试用SAS绘制频数直方图,并在图上添加一条理论正态曲线
作正态性检验
对总胆固醇含量做PP-图
proc univariate data=cholestrol plot normal;
var TC;
ppplot;*作p-p图;
histogram /lognormal;*lognormal为添加一条正态曲线;
run;
(三)研究脑缺氧对脑组织中钙泵的含量影响,将出生状况相近的小猪按出生体重配成7对,随机接受两种处理,一组为对照,一组为缺氧模型组,结果如下。请分别用proc means和proc ttest对两种处理是否存在显著差异进行统计推断(α=0.01)。
读入数据:
data ca_pu;
input x1 x2 @@;
diff=x1-x2;
cards;
0.3550 0.2755
0.2000 0.2545
0.3130 0.1800
0.3630 0.1800
0.3544 0.3113
0.3450 0.2955
0.3050 0.2870
;
run;
proc means data=ca_pu n mean std stderr t prt;
var diff;
title "paired-comparisons t test";
run;
proc ttest data=ca_pu alpha=0.01;
paired x1*x2;
run;
result:
(四)随机抽取小鼠分配到两个不同饲料组中,喂养一段时间后测肝脏铁含量(μg/g),数据如下。
数据读入:
data Fe;
input group value @@;
length label $24;
if value>=1.5 then
label='达标';
else label='不达标';
cards;
1 3.59 1 0.96 1 3.89 1 1.23 1 1.61 1 2.94 1 1.96 1 3.68 1 1.54 1 2.59
2 2.23 2 1.14 2 2.63 2 1.00 2 1.35 2 2.01 2 1.64 2 1.13 2 1.01
;
run;
question 1:试用proc ttest分析不同饲料对肝铁含量有无显著影响。
proc ttest data=Fe;
class group;
var value;
run;
result:
question 2:作方差齐性检验(α=0.05)
proc glm data=Fe alpha=0.05;
class group;
model value=group;
means group/hovtest;
run;
result:
question 3:分别给出两组铁含量的均值的99%置信区间。
proc means data=Fe alpha=0.05 mean lclm uclm;
var value;
class group;
types group;
output out=result(keep=mean lclm uclm) mean=mean lclm=lclm uclm=uclm;
run;
proc print data=result;
run;
question 4:给出两组均值差值的99%置信区间。
proc means data=result alpha=0.05 lclm uclm;
var mean;
run;
question 5:设铁含量要>=1.5ug/g才达标,使用proc report 制表
ods excel file="/home/u45803045/my/my02/result.xlsx";
ods excel options(embedded_titles='yes');
proc report data=Fe;
title "不同饲料组小鼠肝铁含量的观察";
column group value=n label value=mean;
define group/group '分组';
define mean/analysis mean format=4.2 '肝脏铁含量均值';
define n/analysis n '小鼠数';
define label/order center group across '含量达标情况/(>=1.5ug/g达标)';
run;
ods excel close;
result: