您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 统计建模与R软件课后答案
第二章2.1x-c(1,2,3);y-c(4,5,6)e-c(1,1,1)z-2*x+y+e;z[1]71013z1-crossprod(x,y);z1[,1][1,]32z2-outer(x,y);z2[,1][,2][,3][1,]456[2,]81012[3,]1215182.2(1)A-matrix(1:20,nrow=4);B-matrix(1:20,nrow=4,byrow=T)C-A+B;C(2)D-A%*%B;D(3)E-A*B;E(4)F-A[1:3,1:3](5)G-B[,-3]2.3x-c(rep(1,5),rep(2,3),rep(3,4),rep(4,2));x2.4H-matrix(nrow=5,ncol=5)for(iin1:5)+for(jin1:5)+H[i,j]-1/(i+j-1)(1)det(H)(2)solve(H)(3)eigen(H)2.5studentdata-data.frame(姓名=c('张三','李四','王五','赵六','丁一')+,性别=c('女','男','女','男','女'),年龄=c('14','15','16','14','15'),+身高=c('156','165','157','162','159'),体重=c('42','49','41.5','52','45.5'))2.6write.table(studentdata,file='student.txt')write.csv(studentdata,file='student.csv')2.7count-function(n){if(n=0)print('要求输入一个正整数')else{repeat{if(n%%2==0)n-n/2elsen-(3*n+1)if(n==1)break}print('运算成功')}}第三章3.1首先将数据录入为x。利用data_outline函数。如下data_outline(x)3.2hist(x,freq=F)lines(density(x),col='red')y-min(x):max(x)lines(y,dnorm(y,73.668,3.9389),col='blue')plot(ecdf(x),verticals=T,do.p=F)lines(y,pnorm(y,73.668,3.9389))qqnorm(x)qqline(x)3.3stem(x)boxplot(x)fivenum(x)3.4shapiro.test(x)ks.test(x,'pnorm',73.668,3.9389)One-sampleKolmogorov-Smirnovtestdata:xD=0.073,p-value=0.6611alternativehypothesis:two-sidedWarningmessage:Inks.test(x,pnorm,73.668,3.9389):tiesshouldnotbepresentfortheKolmogorov-Smirnovtest这里出现警告信息是因为ks检验要求样本数据是连续的,不允许出现重复值3.5x1-c(2,4,3,2,4,7,7,2,2,5,4);x2-c(5,6,8,5,10,7,12,12,6,6);x3-c(7,11,6,6,7,9,5,5,10,6,3,10)boxplot(x1,x2,x3,names=c('x1','x2','x3'),vcol=c(2,3,4))windows()plot(factor(c(rep(1,length(x1)),rep(2,length(x2)),rep(3,length(x3)))),c(x1,x2,x3))3.6rubber-data.frame(x1=c(65,70,70,69,66,67,68,72,66,68),+x2=c(45,45,48,46,50,46,47,43,47,48),x3=c(27.6,30.7,31.8,32.6,31.0,31.3,37.0,33.6,33.1,34.2))plot(rubber)具体有相关关系的两个变量的散点图要么是从左下角到右上角(正相关),要么是从左上角到右下角(负相关)。从上图可知所有的图中偶读没有这样的趋势,故均不相关。3.7(1)student-read.csv('3.7.csv')attach(student)plot(体重~身高)(2)coplot(体重~身高|性别)(3)coplot(体重~身高|年龄)(4)coplot(体重~身高|年龄+性别)只列出(4)的结果,如下图3.8x-seq(-2,3,0.5);y-seq(-1,7,0.5)f-function(x,y)+x^4-2*x^2*y+x^2-2*x*y+2*y^2+9*x/2-4*y+4z-outer(x,y,f)contour(x,y,z,levels=c(0,1,2,3,4,5,10,15,20,30,40,50,60,80,100),col='blue')windows()persp(x,y,z,theta=30,phi=30,expand=0.7,col='red')3.9cor.test(身高,体重)根据得出的结果看是相关的。具体结果不再列出3.10df-read.csv('48名求职者得分.csv')stars(df)然后按照G的标准来画出星图attach(df)df$G1-(SC+LC+SMS+DRV+AMB+GSP+POT)/7df$G2-(FL+EXP+SUIT)/3df$G3-(LA+HON+KJ)/3df$G4-AAdf$G5-APPa-scale(df[,17:21])stars(a)这里从17开始取,是因为在df中将ID也作为了一列3.11使用P159已经编好的函数unison,接着上题,直接有unison(a)第四章4.1(1)先求矩估计。总体的期望为1112()aaaxdxa。因此我们有12()aExa。可解得a=(2*E(𝑥̅)-1)/(1-E(𝑥̅)).因此我们用样本的均值来估计a即可。在R中实现如下x-c(0.1,0.2,0.9,0.8,0.7,0.7)(2*mean(x)-1)/(1-mean(x))[1]0.3076923(2)采用极大似然估计首先求出极大似然函数为L(a;x)=∏(𝑎+1)𝑥𝑖𝑎=(𝑎+1)𝑛∏𝑥𝑖𝑎𝑛𝑖=1𝑛𝑖=1再取对数为lnL(a;x)=nln(a+1)+aln(∏𝑥𝑖𝑛𝑖=1最后求导𝜕lnL(a;x)𝜕𝑎=𝑛𝑎+1+ln∏𝑥𝑖𝑛𝑖=1好了下面开始用R编程求解,注意此题中n=6.方法一、使用unniroot函数f-function(a)6/(a+1)+sum(log(x))uniroot(f,c(0,1))方法二、使用optimize函数g-function(a)6*log(a+1)+a*sum(log(x))optimize(g,c(0,1),maximum=T)4.2用极大似然估计得出λ=n/∑𝑥𝑖𝑛𝑖=1.现用R求解如下x-c(rep(5,365),rep(15,245),rep(25,150),rep(35,100),rep(45,70),rep(55,45),rep(65,25))1000/sum(x)4.3换句话讲,就是用该样本来估计泊松分布中的参数,然后求出该分布的均值。我们知道泊松分布中的参数λ,既是均值又是方差。因此我们只需要用样本均值作矩估计即可在R中实现如下x-c(rep(0,17),rep(1,20),rep(2,10),rep(3,2),rep(4,1))mean(x)[1]14.4f-function(x){+obj-c(-13+x[1]+((5-x[2])*x[2]-2)*x[2],(-29+x[1]+((x[2]+1)*x[2]-14)*x[2]))+sum(obj^2)}nlm(f,c(0.5,-2))4.5在矩估计中,正态分布总体的均值用样本的均值估计。故在R中实现如下x-c(54,67,68,78,70,66,67,70,65,69)mean(x)[1]67.4然后用t.test作区间估计,如下t.test(x)t.test(x,alternative='less')t.test(x,alternative='greater')此时我们只需要区间估计的结果,所以我们只看t.test中的关于置信区间的输出即可。t.test同时也给出均值检验的结果,但是默认mu=0并不是我们想要的。下面我们来做是否低于72的均值假设检验。如下t.test(x,alternative='greater',mu=72)OneSamplet-testdata:xt=-2.4534,df=9,p-value=0.9817alternativehypothesis:truemeanisgreaterthan7295percentconfidenceinterval:63.96295Infsampleestimates:meanofx67.4结果说明:我们的备择假设是比72要大,但是p值为0.9817,所以我们不接受备择假设,接受原假设比72小。因此这10名患者的平均脉搏次数比正常人要小。4.6我们可以用两种方式来做一做x-c(140,137,136,140,145,148,140,135,144,141)y-c(135,118,115,140,128,131,130,115,131,125)t.test(x,y,var.equal=T)t.test(x-y)结果不再列出,但是可以发现用均值差估计和配对数据估计的结果的数值有一点小小的差别。但得出的结论是不影响的(他们的期望差别很大)4.7A-c(0.143,0.142,0.143,0.137)B-c(0.140,0.142,0.136,0.138,0.140)t.test(A,B)4.8x-c(140,137,136,140,145,148,140,135,144,141)y-c(135,118,115,140,128,131,130,115,131,125)var.test(x,y)t.test(x,y,var.equal=F)4.9泊松分布的参数就等于它的均值也等于方差。我们直接用样本均值来估计参数即可,然后作样本均值0.95的置信区间即可。x-c(rep(0,7),rep(1,10),rep(2,12),rep(3,8),rep(4,3),rep(5,2))mean(x)[1]1.904762t.test(x)4.10正态总体均值用样本均值来估计。故如下x-c(1067,919,1196,785,1126,936,918,1156,920,948)t.test(x,alternative='greater')注意greater才是求区间下限的(都比它大的意思嘛)第五章5.1这是一个假设检验问题,即检验油漆作业工人的血小板的均值是否为225.在R中实现如下x-scan()1:22018816223014516023818824711311:12624516423125618319015822417521:Read20itemst.test(x,mu=225)5.2考察正态密度函数的概率在R中的计算。首先我们要把该正态分布的均值和方差给估计出来,这个就利用样本即可。然后用pnorm函数来计算大于1000的概率。如下x-c(1067,919,1196,785,1126,936,918,1156,920,948)pnorm
本文标题:统计建模与R软件课后答案
链接地址:https://www.777doc.com/doc-4460063 .html