08-SAS 运算符与常用函数示例
1 正态分布随机数的产生
利用 rannor(seed)
函数生成两组各15个来自于均数为 170、方差为 30 的正态分布的随机数。
代码
Using SAS Config named: winlocal
SAS Connection established. Subprocess id is 17612
观测 | seed | x | y |
---|---|---|---|
1 | 1 | 179.885 | 169.562 |
2 | 2 | 172.172 | 164.066 |
3 | 3 | 182.260 | 166.581 |
4 | 4 | 172.813 | 169.526 |
5 | 5 | 166.746 | 170.175 |
6 | 6 | 165.959 | 168.630 |
7 | 7 | 173.752 | 165.595 |
8 | 8 | 165.923 | 165.643 |
9 | 9 | 171.866 | 168.354 |
10 | 10 | 162.607 | 172.370 |
11 | 11 | 177.152 | 177.806 |
12 | 12 | 167.723 | 178.842 |
13 | 13 | 164.207 | 164.806 |
14 | 14 | 175.223 | 172.147 |
15 | 15 | 169.583 | 176.685 |
程序说明:
- 创建 数据集
prg3_1
,包含变量x
和y
。 - 利用函数
SORT(x)
和RANNOR(seed)
产生两个随机变量x
和y
,均来自均数为 170,方差为 30 的正态分布。
2 单一总体均数的置信区间的估计
从某市随机抽取 10 例 18 岁男生,测得他们的身高的均数为 166.95cm,标准差为 3.64cm,试求其总体均数的 95% 置信区间:
代码
观测 | lclm | uclm |
---|---|---|
1 | 164.346 | 169.554 |
程序说明:
- 创建数据集
prg3_2;
- 变量
n
、mean
和std
分别代表样本的例数、均数和标准差; tinv(0.975,n-1)
表示自由度为 n-1 时双侧 0.05 水平的 t 界值;in
的值等于 t 界值乘以标准误,lclm
为置信区间的下限,uclm
为置信区间的上限;- 最后调用
print
过程将双侧 95% 置信区间的上限和下限输出到输出到窗口。
3 两总体均数之差的置信区间估计
为了解氨甲蝶呤( MTX)对外周血白细胞介素 -2(IL-2) 水平的影响,某医生将 61 例哮喘患 者随机分为两组。其中对照组 29 例,采用安慰剂治疗;试验组 32 例,采用小剂量 MTX 进行治疗。 测得对照组治疗前 IL-2 的平均数为 20.10IU/ml.标准差为 7.02IU/ml; 试验组治疗前 IL-2 的平均数 为 16.89IU/ml,标准差为 8.46IU/ml。问两组治疗前基线的 IL-2 总体均数相差有多大?
代码
%%SAS
/*程序3-3*/
/*61名患者随机分为两组,对照组29,实验组32
对照组治疗前均数为20.10,标准差为7.02
试验组治疗前均数为16.89,标准差为8.46
问两组治疗前基线的总体均数相差有多大*/
data prg3_3;
n1 = 29;
n2 = 32;
m1 = 20.10;
m2 = 16.89;
s1 = 7.02;
s2 = 8.46;
sc2 = (s1**2*(n1-1)+s2**2*(n2-1))/(n1+n2-2);
st = sqrt(sc2*(1/n1+1/n2));
t = tinv(0.975,n1+n2-2);
in = t*st;
lclm = abs(m1-m2)-in;
uclm = abs(m1-m2)+in;
proc print;
var lclm uclm;
run;
观测 | lclm | uclm |
---|---|---|
1 | -0.79660 | 7.21660 |
程序说明:
- 创建数据集
prg3_3;
- 变量
n1
和n2
分别表示两组数据的例数,m1
和m2
分别表示两组数据的均数,s1
和s2
分别表示两组数据的标准差,sc2
为合并方差,st
为两均数相差的标准误 t
为双侧 0.05 的界值;in
为 t 界值和标准误的乘积;lclm
和uclm
分别是两均数相差 95% 置信区间的下限和上限;- 再调用print 过程将置信区间的结果输出到输出窗口。