SAS数据集的操作.docx

上传人:b****5 文档编号:2798283 上传时间:2022-11-15 格式:DOCX 页数:15 大小:90.22KB
下载 相关 举报
SAS数据集的操作.docx_第1页
第1页 / 共15页
SAS数据集的操作.docx_第2页
第2页 / 共15页
SAS数据集的操作.docx_第3页
第3页 / 共15页
SAS数据集的操作.docx_第4页
第4页 / 共15页
SAS数据集的操作.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

SAS数据集的操作.docx

《SAS数据集的操作.docx》由会员分享,可在线阅读,更多相关《SAS数据集的操作.docx(15页珍藏版)》请在冰豆网上搜索。

SAS数据集的操作.docx

SAS数据集的操作

第一次作业

学号:

200930980106姓名:

何斌年级专业:

10级统计1班指导老师:

肖莉

1.以下数据是调查15个学生是否学过四门课程(记为A、B、C、D)的资料,0表示没有学过,1表示已学过。

0001m1100f

0010m0001f

0110f1100m

1011m0000m

0110f1111f

1001f0011m

1011m1011f

1010f

(1)对这组资料创建一SAS数据集,然后按男女分别生成两个SAS数据集。

(2)建立一新变量NEW:

先把是否学过4门课程的资料看成4个元素的向量,并作为一个4位二进制数,然后转换为十进制数作为NEW的值。

比如:

(1011)可化为1*23+0*22+1*21+1*20=11。

然后创建一个包含新变量和四门课得分的SAS数据集;并按NEW值从小到大的次序排列后输出。

(3)请统计一下15个学生中学过A、B、C、D四门课的各有多少人,并把结果存为SAS数据集后并打印输出。

解答如下:

(1)

SAS程序如下所示:

optionsnodatenonumber;

dataa1;

inputABCDsex$@@;

cards;

0001m1100f

0010m0001f

0110f1100m

1011m0000m

0110f1111f

1001f0011m

1011m1011f

1010f

;

run;

datamanwomen;

seta1;

select(sex);

when('m')outputman;

when('f')outputwomen;

end;

run;

procprintdata=a1;

title'------总数据集------';

run;

procprintdata=man;

title'------男生数据------';

run;

procprintdata=women;

title'------女生数据------';

run;

得到结果如下:

图1

图2

图3

(2)

SAS程序如下所示:

dataa2;

seta1;

dropsex;

new=A*(2**3)+B*(2**2)+C*(2**1)+D;

run;

procsortdata=a2;

bynew;

run;

procprintdata=a2;

title'------加入了new变量------';

run;

得到结果如下所示:

图4

(3)

SAS程序如下所示:

dataa3;

seta1;

dropsex;

run;

procprintdata=a3noobs;

title'------各科目总学习人数------';

sumABCD;

run;

得到结果如下所示

图5

2.试用概率函数计算正态分布N(3,9)的分布函数F(X)。

X

F(X)

0.00

0.10

3.00

解答如下:

由于该正态分布的均值为3,标准差为3,故SAS编程如下:

datab1;

dox=0to3by0.1;

fx=probnorm((x-3)/3);

output;

end;

run;

procprintdata=b1;

title1'-------------------------------------------';

title2'用概率函数计算正态分布N(3,9)的分布函数F(X)';

run;

或者:

datab1;

Fx=0;

dox=0to3by0.1;

fx=probnorm((x-3)/3);

Fx=Fx+fx;

output;

end;

run;

procprintdata=b1;run;

得到结果如下所示:

图6

3.试用分位数函数计算F分布的分位数。

ndfddf

0.050.0250.005

1

1

1

2

2

5

1

2

10

1

10

10

 

满足

解答如下:

SAS程序如下所示:

datac1;

dogailv=0.05,0.025,0.005;

dondf=1to5by1;

doddf=1to10by1;

fenweishu=finv(gailv,ndf,ddf);

output;

end;

end;

end;

run;

procprintdata=c1;

title1'------------------------------';

title2'用分位数函数计算F分布的分位数';

run;

得到结果如下所示:

…………

图7

4.以下四行数据是四次记录下来的数据,每次从4个厂家(用A,B,C,D代表)生产的同类食品中,每个厂家抽取三包测量每包的数量。

每一行开头三个数值是厂家A生产,以后依次是B、C、D生产的。

727469616165626570857661

675262605559646564677260

576672724343636672567592

575678606358617968738671

(1)请按数据形式输入后生成外部数据文件DB25.TXT.

(2)用DATA步调入外部文件DB25.TXT(用INFILE和INPUT语句)生成包括变量:

TIME(次数),N(包的序号),FACTORY(厂家)和NUMBER(数量)的SAS数据集

(3)请按以下要求输出

(2)产生的SAS数据集:

1.只包含变量TIME,FACTORY和NUMBER;

2.对每个厂家的资料分别输出报告,要求每包食品的数量按小到大的次序排好.

(4)计算每个厂家的12包食品的平均数量,标准差,极差和总和等描述统计量;然后存贮为一个SAS数据集(包含4个观测)。

解答如下:

(1)

SAS程序如下所示:

dataDB25;

dom=1to4;

dofactory='A','B','C','D';

don=1to3;

inputaccounts@@;

output;

end;

end;

end;

cards;

727469616165626570857661

675262605559646564677260

576672724343636672567592

575678606358617968738671

;

run;

procprintdata=DB25;

title1'------------------------';

title2'各厂的检测数据';

run;

PROCEXPORTDATA=WORK.DB25

OUTFILE="C:

\DocumentsandSettings\Administrator\桌面\DB25.txt"

DBMS=TABREPLACE;

PUTNAMES=YES;

RUN;

得到结果如下所示:

………

图8

(2)

SAS程序如下所示:

dataDB_3;

setDB25;

file'D:

\DB25.txt';

putmfactory$naccounts;

run;

dataDB_4;

infile'D:

\DB25.txt';

inputmfactory$naccounts;

run;

procprintlabel;

label

m='time';

label

accounts='number';

run;

得到结果如下所示:

………

图10

(3)

1.SAS程序如下所示:

datad3;

setDB_3;

dropn;

run;

procprintdata=d3noobs;

title'------------------';

run;

得到结果如下所示:

图11

2.SAS程序如下所示:

datad3_2;

setd3;

keepfactorynumber;

run;

procsortdata=d3_2;

byfactorynumber;

run;

procprintdata=d3_2noobs;

title1'---------------------------------------------------------';

title2'对每个厂家的资料分别输出报告,每包食品的数量按小到大的次序排好';

run;

得到结果如下所示:

………

图12

(4)

SAS程序如下所示:

datad4;

procmeansdata=d3_2meanstdrangesum;

classfactory;

run;

procprint;

title1'---------------------------------------------------------';

title2'计算每个厂家的12包食品的平均数量,标准差,极差和总和等描述统计量';

run;

得到结果如下所示:

图12

5、书上第28页,1.4题

(1)原数据集如下所示:

X

1

2

3

4

5

6

Pk

1/6

1/6

1/6

1/6

1/6

1/6

由E(X)=

计算得:

E(X)=0.583

由Var(X)=

计算得:

Var(X)=0.208

众数m0=1/6,中位数me=1/6

(2)原数据集如下所示:

X

1

2

3

4

5

6

Pk

1/6

1/12

1/12

1/6

3/12

3/12

由E(X)=

计算得:

E(X)=0.6667

由Var(X)=

计算得:

Var(X)=0.2139

众数m0=1/12,中位数me=1/6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1