非参数统计R软件参考答案.doc

上传人:cl****1 文档编号:552613371 上传时间:2022-12-17 格式:DOC 页数:18 大小:491.22KB
返回 下载 相关 举报
非参数统计R软件参考答案.doc_第1页
第1页 / 共18页
非参数统计R软件参考答案.doc_第2页
第2页 / 共18页
非参数统计R软件参考答案.doc_第3页
第3页 / 共18页
非参数统计R软件参考答案.doc_第4页
第4页 / 共18页
非参数统计R软件参考答案.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《非参数统计R软件参考答案.doc》由会员分享,可在线阅读,更多相关《非参数统计R软件参考答案.doc(18页珍藏版)》请在金锄头文库上搜索。

1、内容:A.3, A.10, A.12A.3 上机实践:将MASS数据包用命令library(MASS)加载到R中,调用自带“老忠实”喷泉数据集geyer,它有两个变量:等待时间waiting和喷涌时间duration,其中(1) 将等待时间70min以下的数据挑选出来;(2) 将等待时间70min以下,且等待时间不等于57min的数据挑选出来;(3) 将等待时间70min以下喷泉的喷涌时间挑选出来;(4) 将喷涌时间大于70min喷泉的等待时间挑选出来。解:读取数据的R命令:library(MASS);#加载MASS包data(geyser);#加载数据集geyserattach(geyser

2、);#将数据集geyser的变量置为内存变量(1) 依题意编定R程序如下:sub1geyser=geyserwhich(waiting70),1;#提取满足条件(waiting70)的数据,which(),读取下标sub1geyser1:5;#显示子数据集sub1geyser的前5行1 57 60 56 50 54(2) 依题意编定R程序如下:Sub2geyser=geyserwhich(waiting70)&(waiting!=57),1;#提取满足条件(waiting70& (waiting!=57)的数据.Sub2geyser1:5;#显示子数据集sub1geyser的前5行1 60 5

3、6 50 54 60 原数据集的第1列为waiting喷涌时间,所以用which(waiting70),2(3) Sub3geyser=geyserwhich(waiting70),2;#提取满足条件(waiting70)的数据,which(),读取下标Sub3geyser1:5;#显示子数据集sub1geyser的前5行1 4.000000 4.383333 4.833333 5.450000 4.866667原数据集的第2列为喷涌时间,所以用which(waiting70),1;#提取满足条件(waiting70)的数据,which(),读取下标Sub4geyser1:5;#显示子数据集s

4、ub1geyser的前5行1 80 71 80 75 77.A.10如光盘文件student.txt中的数据,一个班有30名学生,每名学生有5门课程的成绩,编写函数实现下述要求:(1) 以data.frame的格式保存上述数据;(2) 计算每个学生各科平均分,并将该数据加入(1)数据集的最后一列;(3) 找出各科平均分的最高分所对应的学生和他所修课程的成绩;(4) 找出至少两门课程不及格的学生,输出他们的全部成绩和平均成绩;(5) 比较具有(4)特点学生的各科平均分与其余学生平均分之间是否存在差异。先将数据集读入R系统student=read.table(,header=T)class(stu

5、dent):#显示数据集student的类型,1 data.frame#student是数据框names(student);#显示数据框student的变量1 name math physics chem literat english mean#输出显示,数据框student有7个变量,第7个变量是平均值mean。(1)write.table(student,F:gzmu非参数统计data2014各章数据附录Ax.txt,col.names=T)打开x.txtname math physics chem literat english1 Katty 65 61 72 84 792 Leo 7

6、7 77 76 64 55(2) 依题意,要为原始数据集添加一个变量,即添加一列在最后。?,6=?me=rep(0,30);for(i in 1:30)x=as.numeric(studenti,2:6); mei=mean(x);student$mean=me;#上面程序的最后一行也可以如此:student,7=menames(student);1 name math physics chem literat english mean #如上显示,程序运行后数据框student添加了第7列mean.(3) 依题意,在(2)的程序运行后做,要用到which(mean=max(mean),如同A

7、.3。attach(student);maxme=studentwhich(mean=max(mean),;#找出最高平均分的记录,并赋予maxme;maxme; name math physics chem literat english mean15 Liggle 78 96 81 80 76 82.2(4) 依题意,要用到二重的for和if. 由原数据框geyser给data1赋值时要用到数据转换:#x=as.numeric(studenti,2:6);#读取student第i行2:6列的数据,#data1k,=x;#将x赋给data4#的第k行。sum(x60)是不及格门数。Data1

8、=student1,;#赋初值k=0;for(i in 1:30)x=as.numeric(studenti,2:6); if (sum(x1)k=k+1;data1k,=studenti,;data1 name math physics chem literat english mean1 Ricky 67 63 49 65 57 60.27 Simon 66 71 67 52 57 62.69 Jed 83 100 79 41 50 70.610 Jack 86 94 97 51 55 76.612 Jetty 67 84 53 58 56 63.613 Corner 81 62 69 5

9、6 52 64.014 Osten 71 64 94 52 52 66.625 Amon 74 79 95 59 59 73.2(5) 依题意,要创造两个子集data4和data2, 用两样本的比较方法比较他们的平均成绩是否有显著差异。类似创造data1的方法,创造data2。并设x=data1$mean,y=data2$mean,比较二样本x,y是否有显著差异,由于还没有学非参数检验,试用t检验检验之(R的t检验函数为t.test(x,y),原假设H0是两样本的均值相等,备择假设H1是两样本不等)。如果P值p-value0.05,则拒绝原假设。data2=student1,;k=0;for(

10、i in 1:30)x=as.numeric(studenti,2:6); if (sum(x60)2)k=k+1;data2k,=studenti,;下面做t检验x=data1$mean;y=data2$mean;t.test(x,y) Welch Two Sample t-testdata: x and yt = -3.0236, df = 9.309, p-value = 0.01386alternative hypothesis: true difference in means is not equal to 095 percent confidence interval: -11.493236 -1.684037sample estimates: mean of x mean of y : 67.17500 73.76364结论:p-value = 0.013861.645, 则将会拒绝H0: ,而且按照

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 代理连锁/招商加盟

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号