资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
内容: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);#将数据集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 56 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;#显示子数据集sub1geyser的前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(student):#显示数据集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 77 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.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=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 56 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(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: ,而且按照
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号