第六章
6.2 单样本检验
这个是单样本的检验,有时也会说“自身对照检验”
下面是代码,参考的时候不要忘记了,我们的逻辑库不一样!!
- 从下面的代码可以看出,means过程,univariate过程进行,单样本均值检验时,都在第一行有选项,而ttest过程没有
data little.food;
input weight@@;
x=100;
d=x-weight;/*理论值与检验变量的差值*/
cards;
112.5 101.0 103.0 102.0 100.5 102.6 107.5 95.0 108.8
115.6 100.0 123.5 102.0 101.6 102.2 116.6 95.4 97.8
108.6 105.0 136.8 102.8 101.5 98.4 93.3
;
run;
title 'means过程';
proc means data=little.food t prt;
/* t是请求进行T检验,属于选项内容 */
var d;
run;
title 'univariate过程';
proc univariate data=little.food mu0=100;
/* mu0是理论值,属于选项内容*/
var weight;
run;
title 'ttest过程';
proc ttest data=little.food;
paired x*weight;
run;
run;
6.3 两样本检验
下面这个是第一个,你们可以注意一下他的数据输入方式,考试的时候不会用循环读入数据就多建立几个数据集,然后再两两合并
这是第一个,同学们做A.B卷的成绩
data little.sja;
input a@@;
cards;
78 63 72 89 91 49 68 76 85 55
;
data little.sjb;
input b@@;
cards;
71 44 61 84 74 51 55 60 77 39
;
data little.sj;
merge little.sja little.sjb;
d=a-b;/*这一句其实没有用,删掉也可以*/
run;
proc ttest data=little.sj;
paired a*b;
run;
下面的是第二个,工人用两种方式安装零件
data c2;
do g=1 to 2;
input n@@;
do i=1 to n;
input f@@;
output; end; end;
cards;
12 28.3 30.1 29.0 37.6 32.1 28.8 36.0 37.2 38.5 34.4 28.0 30.0
10 27.6 22.2 31.0 33.8 20.0 30.2 31.7 26.0 32.0 31.2
;
drop n i;
run;
proc ttest data=c2;
class g;
var f;
run;
- 以上这些假设检验都需要满足正态分布,在进行使用前要先来一次,分布检验,使用univariate过程可以达成目的,下面是一个例子:
data ss;
set sashelp.class;
proc univariate data=ss normal;
var weight;
run;
如图,这里的P值大于0.05,接受原假设,即数据满足正态分布。此时,就可以使用以上方法进行解题