文档库 最新最全的文档下载
当前位置:文档库 › SAS数据处理综合练习题

SAS数据处理综合练习题

SAS数据处理综合练习题
SAS数据处理综合练习题

SAS金融数据处理综合练习题

1.创建一包含10000个变量(X1-X10000),100个观测值的SAS数据集。分别用DATA

步,DATA步数组语句和IML过程实现。

2.多种方法创建包含变量X的10000个观测值的SAS数据集。

3.数据集A中日期变量DA TE包含有缺失值,创建包含日期变量DATE的数据集B,并填

充开始到结束日之间的所有日期值。

4.创建包含日期变量DA TE的SAS数据集,日期值从1900年1月1日到2000年1月1

日。

5.利用随机数函数RANUNI对某数据集设计返回抽样方案。

6.利用随机数函数RANUNI对某数据集设计不返回抽样方案。

7.计算数据集A中变量X的累乘。

8.如何改变一个SAS数据集的变量顺序?

9.数据集A和B包含同样两变量DA TE和PRICE,以DATE为标识变量合并数据集A和

B为C。合并时应该注意什么?

10.给下段程序的主要语句加注释。STOP语句能否删除?为什么?

data a;

do obsnum=1 to last by 20;

set ResDat.stk000001 point=obsnum nobs=last;

output;

end;

stop;

run;

11.假设数据集A中的变量logdate为如下形式的字符格式:

1998-12-2

1999-8-6

1999-8-10

将其转换为日期格式变量date。

12.运行SAS程序过程中,SAS系统创建的自动变量是否包含在创建的数据集?一般情况

下,怎样查看系统自动变量的值?

13.SAS系统显示表达式、函数、数据集、数组或矩阵的具体值时,常需要哪些语句和过程?

14.写出下面各段程序创建数据集的所有观测值,并指出PUT语句分别在LOG窗口输出什

么结果?

data a1;

do n=1 to 5;

output;

end;

put n=;

run;

data a1;

do n=1 to 5;

output;

put n=;

end;

put n=;

run;

data a1;

do n=1 to 5;

put n=;

end;

put n=;

run;

data a1;

do n=1 to 5;

end;

put n=;

run;

data a2;

n=1;

do until(n>=5);

n+1;

output;

end;

put n=;

run;

data a3;

n=1;

do while(n<5);

n+1;

output;

end;

put n=;

run;

data a4;

n=7;

do until(n>=5);

n+1;

output;

end;

put n=;

run;

data a5;

n=7;

do while(n<5);

n+1;

output;

end;

put n=;

run;

15.数据集A有一个变量n,5个观测值1,2,3,4,5。数据A1由下面程序2产生,同样有一个

变量n,5个观测值1,2,3,4,5。试分析下面两段程序中,PUT语句在Log窗口输出结果的差异,为什么?

程序1:

Data a;

Set a;

Put n=;

Run;

程序2:

data a1;

do n=1 to 5;

output;

end;

put n=;

run;

16.试由以下的9种德国马克对美元汇率看跌期权和9种英镑对美元汇率的看跌期权产生81

种组合。

一年期,DM/USD汇率的9种不同看跌期权的执行价格和成本

执行价格Kdm 成本Cdm

0.66 0.085855

0.65 0.032191

0.64 0.020795

0.63 0.017001

0.62 0.013711

0.61 0.010851

0.60 0.008388

0.59 0.006291

0.55 0.001401

一年期,BP/USD汇率的9种不同看跌期权的执行价格和成本

执行价格Kbp 成本Cbp

1.30 0.137213

1.25 0.082645

1.20 0.045060

1.15 0.028348

1.10 0.016146

1.05 0.007860

1.00 0.003277

0.95 0.001134

0.90 0.000245

创建样本数据集:

data dm;

input Kdm Cdm;

cards;

0.66 0.085855

0.65 0.032191

0.64 0.020795

0.63 0.017001

0.62 0.013711

0.61 0.010851

0.60 0.008388

0.59 0.006291

0.55 0.001401

;

run;

data bp;

input Kbp Cbp;

cards;

1.30 0.137213

1.25 0.082645

1.20 0.045060 1.15 0.028348 1.10 0.016146 1.05 0.007860 1.00 0.003277 0.95 0.001134 0.90 0.000245 ; run;

17. 不用SAS 函数,用宏%a(n,p)计算二项分布的概率分布和累计概率(k=1,2……,n)。

()(1)k

n k n P X k p p k -??==- ???

18. 创建组标识变量GROUP ,将数据集A 中的观测等分为10组,观测值不能整除10时,

前余数组各多加一个观测值。

19. 现有一个数据流:a 2 b 3 c d 4 6,按下面要求创建SAS 数据集。用语句input id $ no; 变

量id 取值上面数据流里的a,b,c,d ,变量no 取值2,3,4,6。但是这个数据流存在问题:如有的id 没有no ,有的no 没有id 。创建SAS 数据集,删除只有id 没有no 或者只有no 没有id 的观测,即把上面的c 和6去掉,最后得到三个观测,a 2, b 3与d 4。

20. 现有一个数据流:a23 223 bc4 36 3c5 11d 400 620,按下面要求创建SAS 数据集。 用语句input id $ no; 变量id 取值上面数据流里的a23, bc4, 11d ,变量no 取值233,36,400。但是这个数据流存在问题:如有的id 没有no ,有的no 没有id 。创建SAS 数据集,删除只有id 没有no 或者只有no 没有id 的观测,即把上面的3c5和620去掉,最后得到三个观测: a23 223 bc4 36 11d 400

21. 用SAS 软件作三维Hat 图,x 和y 轴取值区间为[-5,5],z = sin(sqrt(y*y + x*x))。

22. 创建马鞍图形,其数学公式为q

y p x z 2

2+

-=,p 和q 的值不同会导致图形的变化,生成p=20,q=1的马鞍图形。

提示:产生x, y 和z 的数据后,用下面的过程实现作图。

proc g3d ; plot y*x=z;

run ;

23. 数据集Calendar 只有日期变量,test 包含股票代码、日期与收盘价三个变量。合并两个

数据集,用Calendar 中的日期数据替代test 数据集中每只股票的日期数据。 创建样本数据集: data calendar;

input Date yymmdd10.;

format Date yymmdd10.;

cards;

2003-1-20

2003-1-21

2003-1-22

2003-1-23

2003-1-24

2003-1-27

2003-1-28

2003-1-29

2003-1-30

2003-1-31

2003-2-3

2003-2-4

2003-2-5

2003-2-6

2003-2-7

2003-2-8

;

run;

data test;

infile datalines missover ;

informat Stkcd $6. Date yymmdd10. Clpr 8.2; input Stkcd $ Date Clpr;

format Stkcd $6. Date yymmdd10. Clpr 8.2; cards;

600000 2003-1-20 9.94

600000 2003-1-22 9.66

600000 2003-1-24 9.88

600000 2003-1-27 10.07

600000 2003-1-28 10.17

600000 2003-1-29 10.31

600000 2003-2-4 10.31

600000 2003-2-5 10.13

600001 2003-1-20 8.13

600001 2003-1-21 8.14

600001 2003-1-22 8.17

600001 2003-1-23 8.40

600001 2003-1-24 8.65

600001 2003-1-31 8.93

600001 2003-2-4 9.02

600001 2003-2-5 8.63

600002 2003-1-31 2.25

600002 2003-2-3 2.26

600002 2003-2-4 2.35

600002 2003-2-6 2.55

600002 2003-2-8 2.12

;

run;

24.当股票的分配事件分两次完成,且第一次分配在节假日或该股票的停牌日,第二次分配

在下一个交易日时,一般的数据库会有如下表所示的观测值存贮方式。写程序将停牌日(即没有收盘价的那个观测值)中的分配事件合到下一个观测中。

编程变量名参考:

股票代码Stkcd

日期Date

收盘价Clpr

送股比例Stkdrate

转增比例Capissurate

配股比例Rigoffrate

配股价Rigoffpr

增发比例Snirate

增发价格Snipr

现金红利Dividend

创建样本数据集:

data a;

input Stkcd Date yymmdd8. Clpr Stkdrate Capissurate Rigoffrate Rigoffpr Snirate Snipr Dividend;

format Date mmddyy8.;

cards;

600001 01-01-01 8 . . . . . . .

600001 01-01-02 . 0.3 0.3 0 0 0 0 0

600001 01-01-03 9 0 0 0.5 0.2 0 0 0.1

600002 01-01-02 10 0 0 0 0 0 0 0

600002 01-01-03 . 0.2 0.3 0.5 0 0 0.1 0.2

600002 01-01-04 12 0 0 0 0.2 0.3 0.5 0.6

;

run;

25.假设股票市场的股本数据如下表,对每支股票(至少1000支股票),按如下要求设计填充总股本和流通股股本数据的SAS程序:以该股票前面的股本数据填充后面的缺失值,如果某支股票上市交易时就缺失股本数据,则用该股票上市后的第一个股本数据向前填充。

编程变量名参考:

股票代码Stkcd

日期Date

收盘价Clpr

股本变动日CapchgDate

总股本Fullshr

流通股trdshr

/* 创建样本数据集*/

data test;

infile datalines missover ;

informat Stkcd $6. Date yymmdd10. Clpr 8.2 capchgDate yymmdd10. fullshr Trdshr 20. ;

input Stkcd $ Date Clpr capchgDate fullshr Trdshr;

format Stkcd $6. Date yymmdd10. Clpr 8.2 capchgDate yymmdd10. fullshr Trdshr 20.;

cards;

600000 2003-1-20 9.94 2003-1-20 3915000000 900000000

600000 2003-1-21 9.68

600000 2003-1-22 9.66

600000 2003-1-23 9.6

600000 2003-1-24 9.88

600000 2003-1-27 10.07

600000 2003-1-28 10.17

600000 2003-1-29 10.31

600000 2003-2-10 10.09

600000 2003-2-11 10.2

600000 2003-2-12 10.31

600000 2003-2-13 10.13

600001 2000-5-29 8.13 2000-5-29

600001 2000-5-30 8.14

600001 2000-5-31 8.65

600001 2000-6-1 8.93

600001 2000-6-2 9.11

600001 2000-6-5 9.02 2000-6-5 1486553100 490000000

600001 2000-6-6 8.63

600001 2000-6-7 8.52

600001 2000-6-8 8.55

600001 2000-6-9 8.3

600001 2000-6-12 8.34

;

Run;

26.用线性插值法填充缺失数据。以下面的实际数据为基础,完成相关SAS程序的设计。

银行间债券市场的回购行情如下表,对于一个月、二个月和三个月的回购利率,按如下要求设计填充回购利率的月底缺失数据。

从所给数据集中识别出一个月、二个月和三个月的回购利率,建立一个仅包括日期Date (2004年1月到2004年5月)、一个月债券回购利率R1M、二个月债券回购利率R2M和三个月债券回购利率R3M的数据集,对于不同期限的回购利率分别取每个月最后一天的回购利率,如果在月底当日没有交易,则采用该月最后一次交易与下月第一次交易的数据进行直线插值,作为当月最后一天相应期限的债券回购利率。

注:…表示有数据值,.表示缺失值。

编程变量名参考:

交易日期Date

基准利率代码Code

基准利率Ir

一个月债券回购利率R1M

二个月债券回购利率R2M

三个月债券回购利率R3M

/* 创建样本数据集*/

data test;

informat Date yymmdd10. code$8. Ir; input Date: Code $ Ir;

format Date yymmdd10. code $8. Ir; cards;

2004-01-02 R1M 0.025

2004-01-05 R1M 0.0255

2004-01-05 R2M 0.0244

2004-01-05 R3M 0.027

2004-01-06 R1M 0.024

2004-01-06 R2M 0.025

2004-01-07 R1M 0.0241

2004-01-07 R2M 0.0245

2004-01-08 R1M 0.023

2004-01-08 R2M 0.0245

2004-01-08 R3M 0.023

2004-01-09 R1M 0.023

2004-01-09 R2M 0.023

2004-01-09 R3M 0.0248

2004-01-12 R1M 0.025

2004-01-12 R2M 0.024

2004-01-13 R1M 0.0235

2004-01-13 R2M 0.0237

2004-01-14 R1M 0.0248

2004-01-14 R2M 0.0248

2004-01-14 R3M 0.025

2004-01-15 R1M 0.0246

2004-01-15 R2M 0.025

2004-01-15 R3M 0.03

2004-01-16 R1M 0.0325

2004-01-16 R2M 0.026

2004-01-16 R3M 0.0265

2004-01-17 R1M 0.038

2004-01-17 R2M 0.0325

2004-01-18 R1M 0.035

2004-01-18 R2M 0.035

2004-01-18 R3M 0.0325

2004-01-19 R1M 0.0343

2004-01-19 R2M 0.033

2004-01-20 R1M 0.032

2004-01-20 R2M 0.032

2004-01-29 R1M 0.0288 2004-01-29 R2M 0.029 2004-01-29 R3M 0.0296 2004-01-30 R1M 0.029 2004-01-30 R2M 0.0297 2004-01-30 R3M 0.0296 2004-02-02 R2M 0.0305 2004-02-03 R1M 0.028 2004-02-03 R2M 0.028 2004-02-04 R2M 0.0251 2004-02-05 R1M 0.0248 2004-02-05 R2M 0.0254 2004-02-06 R1M 0.024 2004-02-06 R2M 0.0242 2004-02-09 R1M 0.024 2004-02-09 R2M 0.024 2004-02-09 R3M 0.0255 2004-02-10 R1M 0.0238 2004-02-10 R2M 0.0235 2004-02-11 R1M 0.0234 2004-02-11 R2M 0.0245 2004-02-11 R3M 0.025 2004-02-12 R1M 0.023 2004-02-12 R2M 0.0233 2004-02-12 R3M 0.024 2004-02-13 R1M 0.0229 2004-02-13 R2M 0.0231 2004-02-13 R3M 0.0234 2004-02-16 R1M 0.0225 2004-02-16 R2M 0.0229 2004-02-16 R3M 0.0234 2004-02-17 R1M 0.0225 2004-02-17 R2M 0.0228 2004-02-17 R3M 0.024 2004-02-18 R1M 0.0225 2004-02-18 R2M 0.0224 2004-02-18 R3M 0.0232 2004-02-19 R1M 0.0223 2004-02-19 R2M 0.0227 2004-02-19 R3M 0.0231 2004-02-20 R1M 0.0222 2004-02-20 R2M 0.0222 2004-02-20 R3M 0.023

2004-02-23 R2M 0.0235 2004-02-23 R3M 0.0231 2004-02-24 R1M 0.0222 2004-02-24 R2M 0.0223 2004-02-24 R3M 0.024 2004-02-25 R1M 0.0218 2004-02-25 R2M 0.0213 2004-02-25 R3M 0.021 2004-02-26 R1M 0.0218 2004-02-26 R2M 0.0218 2004-02-26 R3M 0.0224 2004-02-27 R1M 0.0218 2004-02-27 R2M 0.0218 2004-02-27 R3M 0.0223 2004-03-01 R1M 0.0217 2004-03-01 R2M 0.0215 2004-03-01 R3M 0.022 2004-03-02 R1M 0.022 2004-03-02 R2M 0.0216 2004-03-02 R3M 0.0218 2004-03-03 R1M 0.0218 2004-03-03 R2M 0.0218 2004-03-03 R3M 0.022 2004-03-04 R1M 0.0218 2004-03-04 R2M 0.022 2004-03-04 R3M 0.022 2004-03-05 R1M 0.0218 2004-03-05 R2M 0.0218 2004-03-05 R3M 0.022 2004-03-08 R1M 0.0211 2004-03-08 R3M 0.0227 2004-03-09 R1M 0.0212 2004-03-09 R3M 0.0225 2004-03-10 R1M 0.022 2004-03-10 R2M 0.0218 2004-03-10 R3M 0.0224 2004-03-11 R1M 0.0214 2004-03-11 R2M 0.0214 2004-03-11 R3M 0.0228 2004-03-12 R1M 0.0214 2004-03-12 R2M 0.0214 2004-03-12 R3M 0.0223 2004-03-15 R1M 0.021

2004-03-15 R3M 0.0225 2004-03-16 R1M 0.0213 2004-03-16 R3M 0.0223 2004-03-17 R1M 0.0211 2004-03-17 R2M 0.0222 2004-03-18 R1M 0.0216 2004-03-18 R2M 0.0222 2004-03-18 R3M 0.0228 2004-03-19 R1M 0.0216 2004-03-19 R2M 0.022 2004-03-19 R3M 0.023 2004-03-22 R1M 0.0215 2004-03-22 R2M 0.0228 2004-03-23 R1M 0.0216 2004-03-23 R2M 0.0228 2004-03-24 R1M 0.022 2004-03-24 R2M 0.024 2004-03-24 R3M 0.0248 2004-03-25 R1M 0.0231 2004-03-25 R3M 0.025 2004-03-26 R1M 0.023 2004-03-26 R2M 0.0233 2004-03-26 R3M 0.0245 2004-03-29 R1M 0.0232 2004-03-29 R2M 0.0233 2004-03-30 R1M 0.0208 2004-03-30 R2M 0.0233 2004-03-31 R1M 0.0229 2004-03-31 R2M 0.0235 2004-04-01 R1M 0.023 2004-04-01 R2M 0.024 2004-04-02 R1M 0.0232 2004-04-02 R2M 0.0235 2004-04-02 R3M 0.025 2004-04-05 R1M 0.0217 2004-04-05 R2M 0.0229 2004-04-05 R3M 0.0256 2004-04-06 R1M 0.0215 2004-04-06 R2M 0.024 2004-04-06 R3M 0.0249 2004-04-07 R1M 0.0213 2004-04-07 R2M 0.0232 2004-04-07 R3M 0.0249

2004-04-08 R2M 0.023 2004-04-08 R3M 0.0251 2004-04-09 R1M 0.0218 2004-04-09 R2M 0.0214 2004-04-09 R3M 0.025 2004-04-12 R1M 0.0253 2004-04-12 R2M 0.024 2004-04-12 R3M 0.0278 2004-04-13 R1M 0.0265 2004-04-13 R2M 0.0275 2004-04-13 R3M 0.028 2004-04-14 R1M 0.0268 2004-04-14 R2M 0.0258 2004-04-14 R3M 0.0285 2004-04-15 R1M 0.027 2004-04-15 R2M 0.0275 2004-04-16 R1M 0.0271 2004-04-16 R2M 0.0283 2004-04-19 R1M 0.0287 2004-04-19 R2M 0.0283 2004-04-19 R3M 0.0287 2004-04-20 R1M 0.0285 2004-04-20 R2M 0.029 2004-04-21 R1M 0.0286 2004-04-21 R2M 0.0287 2004-04-21 R3M 0.0315 2004-04-22 R1M 0.029 2004-04-22 R3M 0.0288 2004-04-22 R2M 0.0293 2004-04-23 R1M 0.0285 2004-04-23 R2M 0.0295 2004-04-26 R1M 0.025 2004-04-26 R2M 0.0288 2004-04-27 R1M 0.028 2004-04-27 R3M 0.029 2004-04-28 R1M 0.0279 2004-04-28 R2M 0.0285 2004-04-29 R1M 0.028 2004-04-29 R2M 0.028 2004-04-29 R3M 0.0286 2004-04-30 R1M 0.0265 2004-04-30 R2M 0.0279 2004-05-08 R1M 0.0265

2004-05-10 R1M 0.0264

2004-05-10 R2M 0.0264

2004-05-10 R3M 0.029

2004-05-11 R1M 0.0264

2004-05-11 R2M 0.0272

2004-05-12 R1M 0.026

2004-05-12 R2M 0.0268

2004-05-13 R1M 0.0255

2004-05-14 R1M 0.026

2004-05-14 R2M 0.0265

2004-05-17 R1M 0.0256

2004-05-17 R2M 0.0265

2004-05-18 R1M 0.0256

2004-05-18 R3M 0.0285

2004-05-19 R1M 0.0256

2004-05-19 R2M 0.026

2004-05-19 R3M 0.0285

2004-05-20 R1M 0.0265

2004-05-20 R2M 0.027

2004-05-20 R3M 0.0265

2004-05-21 R1M 0.026

2004-05-24 R1M 0.021

2004-05-24 R2M 0.027

2004-05-24 R3M 0.0285

2004-05-25 R1M 0.0225

2004-05-25 R2M 0.027

2004-05-26 R1M 0.0263

2004-05-26 R3M 0.0283

2004-05-27 R1M 0.028

2004-05-27 R2M 0.027

2004-05-27 R3M 0.0285

2004-05-28 R1M 0.0268

2004-05-31 R1M 0.0288

2004-05-31 R2M 0.032

2004-06-01 R1M 0.031

2004-06-01 R2M 0.0319

2004-06-01 R3M 0.0335

;

run;

27.当股票发生分配事件时,可以根据相应的分配和股本数据计算股价的调整因子。为了检验数据的正确性,有必要根据股价调整因子来计算当天股价的变动是否合理。

如下表所示,可以算得除权日股票涨跌的绝对值为:|10.00-5.20*2.00| = 0.40,相对于当时的股价5.20来说,这个变动值是在合理的范围内的。

设计程序,对于不同的股票,计算分配日股票涨跌(=分配前股票价格–分配日股票价格*股价调整因子)的绝对值。只要求保留分配日的观测(即股价调整因子不为空的观测),

注:…表示有数据值,.表示缺失值。

编程变量名参考:

永久性代码:stkcd

日期:Date

收盘价:Clpr

股价调整因子:Facpr

28. 控制权价值研究中的数据处理问题

计算每只股票相应DA TE前30个交易日的平均收盘价格。

股票代码Stkcd与日期DA TE的数据集由下面SAS程序给出。

data stkDate;

input Stkcd $6. Date ;

informat Date yymmdd10.;

format Date yymmdd10.;

cards;

000024 20010405

000510 20011020

000526 20010222

000533 20010911

000533 20010913

000533 20011025

000558 20011013

000712 20010406

000712 20010506

000712 20010712

000735 20011024

000735 20011024

000883 20011116

600070 20011229

600291 20011228

600752 20010217

600752 20010407

600769 20011229

600769 20011229

600800 20010515

600899 20010605

000033 20020308

000035 20020406 000040 20021221 000498 20020706 000683 20021010 000683 20021010 000707 20020803 000712 20020528 000730 20021107 000736 20020705 000793 20020225 000793 20021231 000799 20020904 000806 20020615 000822 20020718 000863 20020716 000929 20020615 600063 20021217 600064 20020521 600074 20021109 600080 20020918 600129 20020509 600129 20020522 600179 20021212 600225 20020702 600225 20020919 600225 20021226 600262 20021228 600277 20020904 600289 20021218 600293 20021231 600302 20020821 600312 20021024 600338 20020302 600338 20020302 600358 20020517 600388 20020713 600388 20020713 600388 20020914 600599 20020217 600645 20020601 600672 20020104 600672 20020209 600672 20021113 600684 20020814 600684 20020814 600722 20020806 600752 20020806 600752 20021031 600752 20021128 600752 20021129 600760 20020816 600766 20021212 600797 20020619 600797 20020619 600805 20021010 600805 20021015

600869 20021101 600877 20020511 600883 20020629 600899 20020406 000018 20030104 000033 20030124 000033 20030128 000035 20030308 000068 20030228 000159 20030628 000159 20030701 000510 20031128 000669 20031119 000669 20031231 000707 20030611 000707 20030822 000708 20031008 000712 20030329 000712 20030607 000736 20030612 000736 20030708 000750 20030402 000751 20030822 000780 20030624 000793 20030211 000795 20030329 000795 20030329 000795 20030705 000923 20030328 000965 20030118 000968 20030402 600065 20031127 600086 20030129 600086 20030710 600152 20030809 600169 20030426 600187 20030723 600193 20030528 600193 20030528 600225 20030918 600275 20030218 600275 20030930 600275 20031223 600311 20030522 600311 20030522 600358 20030708 600358 20030708 600358 20030814 600369 20030912 600369 20030925 600388 20030719 600388 20030909 600391 20030304 600505 20030430 600599 20030102 600609 20030405

600752 20030930 600760 20030904 600797 20030621 600797 20030621 600870 20030102 600870 20030802 600883 20030215 600883 20030215 000078 20040824 000150 20041209 000159 20040611 000159 20040701 000159 20041009 000415 20041228 000511 20041228 000548 20041016 000548 20041016 000667 20041127 000669 20040513 000670 20041106 000683 20041020 000700 20040806 000712 20040407 000736 20040710 000787 20041113 000787 20041210 000795 20040207 000795 20040327 000797 20041204 000889 20040303 000892 20040207 000906 20040330 000949 20041110 000968 20040710 000976 20040626 000980 20040923 600093 20041023 600093 20041109 600107 20040526 600108 20040706 600129 20040720 600129 20041130 600155 20040208 600155 20041103 600190 20040203 600190 20041130 600193 20040529 600193 20040604 600193 20040626 600193 20040929 600193 20041029 600209 20040625 600215 20040130 600262 20040219 600275 20040728 600277 20040922

600289 20041117

600312 20040914

600312 20041224

600312 20041228

600318 20041231

600328 20041023

600339 20040918

600339 20040918

600358 20040327

600369 20040309

600379 20041214

600379 20041228

600388 20040515

600553 20041221

600608 20041209

600664 20041220

600666 20041130

600722 20041022

600730 20040306

600733 20041008

600733 20041008

600745 20040602

600766 20041106

600773 20040624

600773 20040730

600775 20041026

600775 20041026

600805 20040410

;

run;

29.某商业银行为了进行内部成本核算,需要统计每个储户当前存款余额的平均期限。平均期限计算方法如下:

假设该银行有一储户6天内进行了6笔存取款业务。如下表所示。

业务种类金额余额

第1天开户+100元+100元

第2天存款+100元+200元

第3天取款-150元+50元

第4天存款+200元+250元

第5天存款+100元+350元

第6天取款-100元+250元

第1天,开户存入100元,计期开始。

第2天,存入100元,此时该储户持有100元×1天,100元×0天,所以平均期限为(100*1+100*0)/(100+100)天。

第3天,取出第一天的100元和第2天的50元(遵循先进先出法),此时持有第2天的50元,期限为(50*1)/50=1天。

第4天,存入200元,此时余额为250元,平均期限为(50*2+200*0)/(50+200)天。

第5天,存入100元,此时余额为350元,平均期限为(50*3+200*1+100*0)/(50+200+100)

统计实验与SAS上机简易过程步

数据统计分析一般可遵循以下思路: (1)先确定研究目的,根据研究目的选择方法。不同研究目的采用的统计方法不同,常见的研究目的主要有三类:①差异性研究,即比较组间均数、率等的差异,可用的方法有t检验、方差分析、χ2检验、非参数检验等。②相关性分析,即分析两个或多个变量之间的关系,可用的方法有相关分析。③影响性分析,即分析某一结局发生的影响因素,可用的方法有线性回归、logistic回归、Cox 回归等。 (2)明确数据类型,根据数据类型进一步确定方法:①定量资料可用的方法有t检验、方差分析、非参数检验、线性相关、线性回归等。②分类资料可用的方法有χ2检验、对数线性模型、logistic回归等。下图简要列出了不同研究目的、不同数据类型常用的统计分析方法。 (3)选定统计方法后,需要利用统计软件具体实现统计分析过程。SAS中,不同的统计方法对应不同的命令,只要方法选定,便可通过对应的命令辅之以相应的选项实现统计结果的输出。 (4)统计结果的输出并非数据分析的完成。一般统计软件都会输出很多结果,需要从中选择自己需要的部分,并做出统计学结论。但统计学结论不同于专业结论,最终还需要结合实际做出合理的专业结论。 第一部分:统计描述

1.定量资料的统计描述指标及SAS实现; (1)数据分布检验:PROC UNIVARIATE ①基本格式: ②语句格式示例: 1.PROC UNIVARIATE normal;/*normal选项表示进行正态性检验*/ 2.CLASS group;/*指定group为分组变量*/ 3.VAR weight;/*指定分析变量为weight*/ 4.RUN; ③结果:正态性检验(tests for normality)结果,常用的是Shapiro-Wilk 检验和Kolmogorov-Smirnov检验。当例数小于2000时,采用Shapiro-Wilk检验W值为标准;当例数大于2000时,SAS中不显示Shapiro-Wilk检验结果,采用Kolmogorov-Smirnov检验D值为判断标准。正态性检验的P≤0.05提示不服从正态分布,P>0.05提示服从正态分布。 注:若服从正态分布,进行PROC MEANS过程步;若不服从则计算百分位数,转(3) (2)数据描述(符合正态分布的数据):PROC MEANS ①基本格式: 关键字(可以无视):不写任何关键字时默认输出n,mean,std,max,min; n:有效数据记录数(有效样本量) median:中位数 mean:均数 qrange:四分位数间距 std:标准差 var:方差 clm:95%可信区间 max、min:最大、最小值 ②语句格式示例: 1.PROC MEANS n mean std median qrange clm;/*关调用proc means过程, 要求输出的指标有例数、均值、标准差、中位数、四分位数间距、95% 可信区间*/ 2.CLASS group;/*指定group为分组变量*/ 3.VAR weight;/*指定分析变量为weight*/ 4.Run; ③结果以“均数±标准差”表示 (3)偏正态分布的统计描述: ①基本思想:计算中位数和百分位数,并且用“中位数(Q1~Q3)”表示 ②语句格式示例: 1.proc univariate data=aa; 2.var x; 3.output out=c pctlpre=P pctlpts=0 to 100 by 2.5;/*计算0到100

SAS proc mixed 过程步介绍

Introduction to PROC MIXED Table of Contents 1.Short description of methods of estimation used in PROC MIXED 2.Description of the syntax of PROC MIXED 3.References 4. Examples and comparisons of results from MIXED and GLM - balanced data: fixed effect model and mixed effect model, - unbalanced data, mixed effect model 1. Short description of methods of estimation used in PROC MIXED. The SAS procedures GLM and MIXED can be used to fit linear models. Proc GLM was designed to fit fixed effect models and later amended to fit some random effect models by including RANDOM statement with TEST option. The REPEATED statement in PROC GLM allows to estimate and test repeated measures models with an arbitrary correlation structure for repeated observations. The PROC MIXED was specifically designed to fit mixed effect models. It can model random and mixed effect data, repeated measures, spacial data, data with heterogeneous variances and autocorrelated observations.The MIXED procedure is more general than GLM in the sense that it gives a user more flexibility in specifying the correlation structures, particularly useful in repeated measures and random effect models. It has to be emphasized, however, that the PROC MIXED is not an extended, more general version of GLM. They are based on different statistical principles; GLM and MIXED use different estimation methods. GLM uses the ordinary least squares (OLS) estimation, that is, parameter estimates are such values of the parameters of the model that minimize the squared difference between observed and predicted values of the dependent variable. That approach leads to the familiar analysis of variance table in which the variability in the dependent variable (the total sum of squares) is divided into variabilities due to different sources (sum of squares for effects in the model). PROC MIXED does not produce an analysis of variance table, because it uses estimation methods based on different principles. PROC MIXED has three options for the method of estimation. They are: ML (Maximum Likelihood), REML (Restricted or Residual maximum likelihood, which is the default method) and MIVQUE0 (Minimum Variance Quadratic Unbiased Estimation). ML and REML are based on a maximum likelihood estimation approach. They require the assumption that the distribution of the dependent variable (error term and the random effects) is normal. ML is just the regular maximum likelihood method,that is, the parameter estimates that it produces are such values of the model parameters that maximize the likelihood function. REML method is a variant of maximum likelihood estimation; REML estimators are obtained not from maximizing the whole likelihood function, but only that part that is invariant to the fixed effects part of the linear model. In other words, if y = X b + Zu + e, where X b is the

SAS入门教程

第一章SAS系统概况 SAS(Statistic Analysis System)系统是世界领先的信息系统,它由最初的用于统计分析经不断发展和完善而成为大型集成应用软件系统;具有完备的数据存取、管理、分析和显示功能。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统。 SAS系统是一个模块化的集成软件系统。SAS系统提供的二十多个模块(产品)可完成各方面的实际问题,功能非常齐全,用户根据需要可灵活的选择使用。 ●Base SAS Base SAS软件是SAS系统的核心。主要功能是数据管理和数据加工处理,并有报表生成和描述统计的功能。Base SAS软件可以单独使用,也可以同其他软件产品一起组成一个用户化的SAS系统。 ●SAS/AF 这是一个应用开发工具。利用SAS/AF的屏幕设计能力及SCL语言的处理能力可快速开发各种功能强大的应用系统。SAS/AF采用先进的OOP(面向对象编程)的技术,是用户可方便快速的实现各类具有图形用户界面(GUI)的应用系统。 ●SAS/EIS 该软件是SAS系统种采用OOP(面向对象编程)技术的又一个开发工具。该产品也称为行政信息系统或每个人的信息系统。利用该软件可以创建多维数据库(MDDB),并能生成多维报表和图形。 ●SAS/INTRNET ●SAS/ACCESS 该软件是对目前许多流行数据库的接口组成的接口集,它提供的与外部数据库的接口是透明和动态的。 第二章Base SAS软件 第一节SAS编程基础 SAS语言的编程规则与其它过程语言基本相同。 SAS语句 一个SAS语句是有SAS关键词、SAS名字、特殊字符和运算符组成的字符串,并以分号(;)结尾。 注释语句的形式为:/*注释内容*/ 或*注释内容。 二、SAS程序 一序列SAS语句组成一个SAS程序。SAS程序中的语句可分为两类步骤:DA TA步和

第四章 过程步与过程步语句

第四章过程步与过程步语句 SAS过程步是调用系统提供的标准常用过程或统计分析过程,对指定的在数据步建立的数据集进行处理,并将分析处理的结果显示于输出窗口和图形窗口。关于常用过程和统计分析过程将在第五章以后的章节中介绍。本章给出SAS过程的一般格式及过程步中常用的语句。 §4.1 SAS过程步的一般形式 通常,一个SAS过程步具有如下形式: PROC 过程名选项; [其它相关过程步语句] RUN; 其中,PROC(PROCedure)是一个SAS关键字,PROC表明一个过程步的开始;“过程名”可以是第五章及以后章节中将要介绍的常用过程名或统计过程名。不同的过程有不同的专用SAS名。本书以前的例子中出现的“PROC PRINT;”中的PRINT 一词就是SAS的一个常用标准过程,它的功能是将数据集显示于输出窗口。在各种标准过程中,要进行复杂的计算且依计算方法的不同而要求不同的参数。另一方面,对于同一标准过程,给定不同的参数,输出不同的计算结果和不同的表格形式。每一个标准过程都有各自的一些可供选择的选项,选项的一般形式有如下三种: (1) 在过程里,一个关键字代表该过程的某一特性,若关键字作为选项出现,则过程处理数据或输出结果时,这一特性给予考虑,否则忽略该特性。 (2) 过程的某一特性可取不同的值,则指定该特性的书写格式为: 特性关键字=特性指定值。 (3) 有些过程需要特定的输入数据集,有些过程也可以建立一些特殊的数据集。过程指定特别输入输出数据集的选项书写格式为: 关键字=数据集名。 具体到一个过程可以有哪些选项,这将在讲具体过程时才能介绍。“其它相关过程步语句”是指下一节将要介绍的一些语句,包括:VAR,ID,BY,CLASS,FREQ , WEIGHT ,MODEL 等过程语句。语句“RUN;”的作用是通知系统开始执行本过程步程序段。当一份程序中有几个过程时,这几个过程可以共用一个RUN语句。 例4.1以下程序段是一个过程步,其功能是将当前数据集输出到输出窗口: PROC PRINT; RUN; §4.2 常用过程步语句 本节介绍的语句是为某些过程进一步提供数据处理信息的。对一个特定的语句,可能有些过程需要它,而在有些过程中不能出现。在有关过程的章节中将指明这些问题。 4.2.1 VAR语句 格式: VAR 变量表; 其中,VAR是关键字;变量表是用空格分隔的输入数据集中的一些变量名,这里的输入数据集是指将要被指定过程处理的数据集。出现在变量表中的数据集变量将参与过程的数据

SAS程序及函数详解

第一章 SAS编程操作预备知识 一、SAS系统简介 SAS是一个庞大的系统,它目前的版本可以在多种操作系统中运行。当前在国内被广泛使用的最新版本是8.2版,功能很强大,我深有体会。 据说9.0版已在国外面世,已经有一些有关它的抢先报道在网络上广为流传,说它如何如何美妙,令人不禁充满期待。 SAS8.2的完整版本包含以下数十个模块。 BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANALYST,ASSIST, CONNECT,CPE,LAB,EIS,WAREHOUSE,PC File Formats,GIS,SPECTRAVIEW,SHARE*NET, R/3,OnlineTutor: SAS Programming,MDDB Server,IT Service Vision Client, IntrNet Compute Services,Enterprise Reporter,MDDB Server common products,Enterprise Miner,AppDev Studio,Integration Technologies 等。 所谓模块,我的理解是将功能相近的程序、代码等集中起来组成相对独立的部分,就称之为模块,类似于办公软件系统office中包含的word、excel、access 等。各模块具有相对独立的功能范围,我们常用的模块有base,graph,stat,insight,assist,analyst模块等,分别执行基本数据处理、绘图、统计分析、数据探索、可视化数据处理等功能。其余模块我用得很少,知道得也很少,所以也就不多说了。 SAS系统的长处,体现于它的编程操作功能的无比强大。SAS一直以来也是注重于其编程语言的发展,对于可视化方式的菜单操作投入较少,其较早的版本仅有很少的菜单操作功能,使用起来也是非常的别扭。这很可能就是在windows 人机交互式操作系统占统治地位的今天,SAS较少被人问津的原因之一。 到了最新的几个版本,SAS也对可视化操作方法投入了一定的关注。从8.0版以后,出现了几个功能强大的可视化操作的模块,如insight模块和analyst 模块等,其菜单操作的方便程度以及人机界面的亲和性绝不亚于SPSS等著名的可视化统计分析软件。 然而要想完全发挥SAS系统强大的功能,充分利用其提供的丰富资源,掌握SAS的编程操作是必要的,也只有这样才能体现出SAS在各个方面的杰出才能。

第4章 SAS过程步与过程步语句

第4章SAS过程步与过程步语句 摘要:本章讲授过程步一般形式,SAS过程步产用常用语句,程序设计中通用的SAS语句,学习过程步常用有关语句功能及其用法。为后面统计分析过程的调用作好准备。 SAS过程步用来调用系统提供的标准常用过程或统计分析过程,对指定的SAS 数据集进行处理,并将分析结果显示输出到OUTPUT窗口。一个过程步是一个功能程序模块,调用不同的过程可实现用不同方法对数据进行分析。 §4.1 SAS过程步的一般形式 通常,SAS过程步的一般形式为: PROC 过程名选择项; [其他相关过程步语句;] RUN; 说明: 1.ROC表示一个过程的开始;“过程名”可以是后面各章节将要介绍的常用过程名或统计过程名。不同的过程有不同的专用SAS名,而且各有 一些可供选择的选择项(参数),对于同一过程,给定不同的参数,输 出不同的计算结果和不同表格形式。 2.选项:选择项一般以关键字为核心构成,常用下面三种形式: ①关键字在过程中,一个关键字代表该过程的某一特性,若关键字作为选项出现,则过程处理数据或输出结果时,这一特性予以考虑。否则,忽略这一特性。 ②关键字=值过程的某一特性可取不同的值,则指定该特性的书写格式为: 特性关键字=特性值(数字或字符串)。 ③关键字=SAS数据集有些过程需要特定的输入数据集,有些过程可以建立一些特殊的数据集。过程指定特别输入输出数据集的选项书写格式为: 关键字=数据集名 该形式规定输入或输出的数据集,最常用的是DATA=数据集,指出本过程要处理的数据集名称,若缺省,则使用最新建立的数据集。如“PROC PRINT DATA=new;”。 3.其他相关过程步语句:有VAR、ID、BY、CLASS、WEIGHT等过程步语句,将在下一节中讲述。 4.RUN的作用是通知系统开始执行本过程程序段,当一个程序文件中有几个过程时,它们可共用一个RUN语句。

SAS过程步及常用语句

SAS过程步简介 SAS过程步的一般形式为: PROC 过程名 [ DATA=输入数据集] [选项];过程语句1 [/ 选项 ];过程语句2 [/ 选项];……RUN; 1.VAR语句 VAR语句在过程步中用于指定分析变量。 VAR语句的语法格式为: VAR 变量名1 变量名2 … 变量名n; 变量名列表可以使用省略的形式,如x1-x3 等。 应用实例: var math chinese; 2.MODEL语句 MODEL语句在统计建模过程中用来指定模型的形式。语法格式为:MODEL 因变量 = 自变量列表 / 选项; 应用实例: model y=x1 x2 x3 ; 3.BY语句 BY语句在过程步中用来指定一个或几个分组变量,根据这些分组变量值可以把观测记录分组,然后对每一组观测分别进行指定的分析。在使用带有BY语句的过程步之前,应先用SORT过程按BY语句指定的变量对数据集排序。例如,假设我们已经把class1数据集按性别排序,则下面PRINT 过程可以把男、女生分别列出: proc print data=class1 ; by sex;run; 4.OUTPUT语句 过程步中经常用OUTPUT语句指定输出结果存放的数据集。不同过程中把输出结果存入数据集的方法各有不同,OUTPUT语句是使用频繁的语句之一。其语法格式为: OUTPUT OUT=输出数据集名关键字=变量名关键字=变量名…; 其中用OUT=给出了存放结果数据集的名字,关键字用于定义输出变量名,用“关键字=变量名”的方式指定了系统自动输出变量与存储变量之间的 对应关系。等号后面的变量名指定了输出数据集中的存储变量名称。例如:proc means data=data_prg.class1; var math; output out=result02 n=n mean=meanmath var=varmath;run;proc print data=result02; run;

SAS过程

1、TTEST过程 1.1 概述 TTEST过程可以进行单样本、两个样本和配对观察值的假设检验。单样本假设检验进行样本均数与某一个值的比较。两样本检验比较两个样本的均数。配对观察值间的检验进行配对样本间差的均数与某一值的比较。 上述三种情况都有一个共同的假设,即观察值服从正态分布。两样本均数间的检验要求两个样本相互独立。TTEST还假设这两个样本的方差相等。同时,TTEST还给出了两样本方差不相等时的校正结果(Satterthwaite,1946)。 1.2 语法: PROC TTEST < 选择项 > ; CLASS 分类变量 ; PAIRED 配对列表 ; VAR 变量 ; 1.3 选择项 Alpha=值:指出显著水平,缺省0.05 H0=m:指定H0为m而不为0。缺省时H0=0 DATA=数据集:指出分析的数据集 1.4 CLASS语句 用于两个独立样本的分析,配对试验和一个样本的分析不应该有该语句 如果没有VAR语句,则所有不在CLASS语句后的数值变量都进行分析 1.5 PAIRED语句的例子 PAIRED语句配对比较 paired A*B A-B Paired A*B C*D A-B C-D Paired (A B)*(C D) A-C A-D B-C B-D Paired (A B)*(C B) A-C A-B B-C paired (A1-A2)*(B1-B2) A1-B1 A1-B2 A2-B1 A2-B2 paired (A1-A2):(B1-B2) A1-B1 A2-B2 1.6 VAR语句 指出分析的变量,不能与PAIRED语句配合使用 如果没有CLASS语句,则进行单个样本分析。如果有CLASS语句而没有VAR语句,则所有不在CLASS语句中的变量都进行分析 1.7 SAS例题 例1.1 单样本 母猪的怀孕期为114天,今抽测10头母猪的怀孕期分别为116、115、113、112、114、117、115、116、114、113(天),试检验所得样本的平均数与总体平均数114天有无显著差异?

相关文档