统计建模与R软件课后习题答案2-5章(共24页).doc
《统计建模与R软件课后习题答案2-5章(共24页).doc》由会员分享,可在线阅读,更多相关《统计建模与R软件课后习题答案2-5章(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上R,从零水平开始。国内真的没有一本像样的R教科书啊!勉强用用薛毅编的统计建模与R软件吧,找不出更好的了工作环境仍是linux。第二章答案:Ex2.1x-c(1,2,3)y-c(4,5,6)e-c(1,1,1)z=2*x+y+ez1=crossprod(x,y)#z1为x1与x2的内积 或者 x%*%yz2=tcrossprod(x,y)#z1为x1与x2的外积 或者 x%o%yz;z1;z2要点:基本的列表赋值方法,内积和外积概念。内积为标量,外积为矩阵。Ex2.2A-matrix(1:20,c(4,5);AB-matrix(1:20,nrow=4,byrow=TRU
2、E);BC=A+B;C#不存在AB这种写法E=A*B;EF-A1:3,1:3;FH-matrix(c(1,2,4,5),nrow=1);H#H起过渡作用,不规则的数组下标G-B,H;G要点:矩阵赋值方法。默认是byrow=FALSE,数据按列放置。取出部分数据的方法。可以用数组作为数组的下标取出数组元素。Ex2.3x-c(rep(1,times=5),rep(2,times=3),rep(3,times=4),rep(4,times=2);x #或者省略times=,如下面的形式x-c(rep(1,5),rep(2,3),rep(3,4),rep(4,2);x要点:rep()的使用方法。rep
3、(a,b)即将a重复b次Ex2.4n - 5; H-array(0,dim=c(n,n)for (i in 1:n)for (j in 1:n)Hi,j-1/(i+j-1);HG - solve(H);G #求H的逆矩阵ev - eigen(H);ev #求H的特征值和特征向量要点:数组初始化;for循环的使用待解决:如何将很长的命令(如for循环)用几行打出来再执行?每次想换行的时候一按回车就执行了还没打完的命令.Ex2.5StudentData-data.frame(name=c(zhangsan,lisi,wangwu,zhaoliu,dingyi),sex=c(F,M,F,M,F),a
4、ge=c(14,15,16,14,15),height=c(156,165,157,162,159),weight=c(42,49,41.5,52,45.5);StudentData要点:数据框的使用待解决:SSH登陆linux服务器中文显示乱码。此处用英文代替。Ex2.6write.table(StudentData,file=studentdata.txt)#把数据框StudentData在工作目录里输出,输出的文件名为studentdata.txt.StudentData_a-read.table(studentdata.txt);StudentData_a#以数据框的形式读取文档stu
5、dentdata.txt,存入数据框StudentData_a中。write.csv(StudentData_a,studentdata.csv)#把数据框StudentData_a在工作目录里输出,输出的文件名为studentdata.csv,可用Excel打开.要点:读写文件。read.table(file)write.table(Rdata,file)read.csv(file)write.csv(Rdata,file)外部文件,不论是待读入或是要写出的,命令中都得加双引号。Ex2.7Fun-function(n)if(n = 0)list(fail=please input a int
6、eger above 0!)elserepeatif(n=1) breakelse if(n%2=0)n-n/2else n- 3*n+1list(sucess!)在linux下新建一个R文件,输入上述代码,保存为2.7.R然后在当前目录下进入R环境,输入source(2.7.R),即打开了这个程序脚本。然后就可以执行函数了。输入Fun(67),显示sucess!输入Fun(-1),显示$fail1 please input a integer above 0!待解决:source(*.R)是可以理解为载入这个R文件吧?如何在R环境下关闭R文件呢?OK,自己写的第一个R程序第二章答案:Ex2.
7、1x-c(1,2,3)y-c(4,5,6)e-c(1,1,1)z=2*x+y+ez1=crossprod(x,y)#z1为x1与x2的内积或者 x%*%yz2=tcrossprod(x,y)#z1为x1与x2的外积或者 x%o%yz;z1;z2要点:基本的列表赋值方法,内积和外积概念。内积为标量,外积为矩阵。Ex2.2A-matrix(1:20,c(4,5);AB-matrix(1:20,nrow=4,byrow=TRUE);BC=A+B;C#不存在AB这种写法E=A*B;EF-A1:3,1:3;FH-matrix(c(1,2,4,5),nrow=1);H#H起过渡作用,不规则的数组下标G-B
8、,H;G要点:矩阵赋值方法。默认是byrow=FALSE,数据按列放置。 取出部分数据的方法。可以用数组作为数组的下标取出数组元素。 Ex2.3x-c(rep(1,times=5),rep(2,times=3),rep(3,times=4),rep(4,times=2);x #或者省略times=,如下面的形式x-c(rep(1,5),rep(2,3),rep(3,4),rep(4,2);x要点:rep()的使用方法。rep(a,b)即将a重复b次 Ex2.4n - 5; H-array(0,dim=c(n,n)for (i in 1:n)for (j in 1:n)Hi,j-1/(i+j-1
9、);HG - solve(H);G #求H的逆矩阵ev - eigen(H);ev #求H的特征值和特征向量要点:数组初始化;for循环的使用待解决:如何将很长的命令(如for循环)用几行打出来再执行?每次想换行的时候一按回车就执行了还没打完的命令.Ex2.5StudentData-data.frame(name=c(zhangsan,lisi,wangwu,zhaoliu,dingyi),sex=c(F,M,F,M,F),age=c(14,15,16,14,15),height=c(156,165,157,162,159),weight=c(42,49,41.5,52,45.5);Stude
10、ntData要点:数据框的使用待解决:SSH登陆linux服务器中文显示乱码。此处用英文代替。Ex2.6write.table(StudentData,file=studentdata.txt)#把数据框StudentData在工作目录里输出,输出的文件名为studentdata.txt.StudentData_a-read.table(studentdata.txt);StudentData_a#以数据框的形式读取文档studentdata.txt,存入数据框StudentData_a中。write.csv(StudentData_a,studentdata.csv)#把数据框Student
11、Data_a在工作目录里输出,输出的文件名为studentdata.csv,可用Excel打开.要点:读写文件。read.table(file) write.table(Rdata,file) read.csv(file) write.csv(Rdata,file) 外部文件,不论是待读入或是要写出的,命令中都得加双引号。Ex2.7Fun-function(n)if(n = 0) list(fail=please input a integer above 0!)elserepeat if(n=1) break else if(n%2=0)n-n/2 else n- 3*n+1list(suc
12、ess!)在linux下新建一个R文件,输入上述代码,保存为2.7.R然后在当前目录下进入R环境,输入source(2.7.R),即打开了这个程序脚本。然后就可以执行函数了。输入Fun(67),显示sucess!输入Fun(-1),显示$fail1 please input a integer above 0!待解决:source(*.R)是可以理解为载入这个R文件吧?如何在R环境下关闭R文件呢?Ex3.1新建txt文件如下:3.1.txt74.3 79.5 75.0 73.5 75.8 74.0 73.5 67.2 75.8 73.5 78.8 75.6 73.5 75.0 75.872.0
13、 79.5 76.5 73.5 79.5 68.8 75.0 78.8 72.0 68.8 76.5 73.5 72.7 75.0 70.478.0 78.8 74.3 64.3 76.5 74.3 74.7 70.4 72.7 76.5 70.4 72.0 75.8 75.8 70.476.5 65.0 77.2 73.5 72.7 80.5 72.0 65.0 80.3 71.2 77.6 76.5 68.8 73.5 77.280.5 72.0 74.3 69.7 81.2 67.3 81.6 67.3 72.7 84.3 69.7 74.3 71.2 74.3 75.072.0 75.
14、4 67.3 81.6 75.0 71.2 71.2 69.7 73.5 70.4 75.0 72.7 67.3 70.3 76.573.5 72.0 68.0 73.5 68.0 74.3 72.7 72.7 74.3 70.4编写一个函数(程序名为data_outline.R)描述样本的各种描述性统计量。data_outline-function(x)n-length(x)m-mean(x)v-var(x)s-sd(x)me-median(x)cv-100*s/mcss-sum(x-m)2)uss-sum(x2)R - max(x)-min(x)R1 -quantile(x,3/4)-qu
15、antile(x,1/4)sm -s/sqrt(n)g1 -n/(n-1)*(n-2)*sum(x-m)3)/s3g2 -(n*(n+1)/(n-1)*(n-2)*(n-3)*sum(x-m)4)/s4-(3*(n-1)2)/(n-2)*(n-3)data.frame(N=n,Mean=m,Var=v,std_dev=s,Median=me,std_mean=sm,CV=cv,CSS=css,USS=uss,R=R,R1=R1,Skewness=g1,Kurtosis=g2,row.names=1)进入R,source(data_outline.R) #将程序调入内存serumdata-sca
16、n(3.1.txt);serumdata #将数据读入向量serumdata。data_outline(serumdata)结果如下: N Mean Var std_dev Median std_mean CV CSS USS R1 100 73.696 15.41675 3. 73.5 0. 5. 1526.258 .3 20 R1 Skewness Kurtosis1 4.6 0. 0.要点:read.table()用于读表格形式的文件。上述形式的数据由于第七行缺几个数据,故用read.table()不能读入。 scan()可以直接读纯文本文件。scan()和matrix()连用还可以将数
17、据存放成矩阵形式。 X-matrix(scan(3.1.txt,0),ncol=10,byrow=TRUE) #将上述数据放置成10*10的矩阵。scan()还可以从屏幕上直接输入数据。 Yhist(serumdata,freq=FALSE,col=purple,border=red,density=3,angle=60,main=paste(the histogram of serumdata),xlab=age,ylab=frequency)#直方图。col是填充颜色。默认空白。border是边框的颜色,默认前景色。density是在图上画条纹阴影,默认不画。angle是条纹阴影的倾斜角度
18、(逆时针方向),默认45度。main, xlab, ylab是标题,x和y坐标轴名称。lines(density(serumdata),col=blue)#密度估计曲线。x lines(x,dnorm(x,mean(serumdata),sd(serumdata),col=green) #正态分布的概率密度曲线 plot(ecdf(serumdata),verticals=TRUE,do.p=FALSE) #绘制经验分布图 lines(x,pnorm(x,mean(serumdata),sd(serumdata),col=blue) #正态经验分布 qqnorm(serumdata,col=p
19、urple) #绘制QQ图 qqline(serumdata,col=red) #绘制QQ直线Ex3.3 stem(serumdata,scale=1) #作茎叶图。原始数据小数点后数值四舍五入。The decimal point is at the | 64 | 300 66 | 23333 68 | 70 | 72 | 555 74 | 88 76 | 78 | 80 | 82 | 84 | 3boxplot(serumdata,col=lightblue,notch=T) #作箱线图。notch表示带有缺口。 fivenum(serumdata) #五数总结1 64.3 71.2 73.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统计 建模 软件 课后 习题 答案 24
限制150内