资源描述:
《统计建模与R软件课后习题答案25章.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章答案: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=TRUE);BC=A+B;C#不存在AB这种写法E=A*B;EF<-A
2、[1: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)
3、);x要点:rep()的使用方法。rep(a,b)即将a重复b次Ex2.4n<-5;H<-array(0,dim=c(n,n))for(iin1:n){for(jin1:n){H[i,j]<-1/(i+j-1)}};HG<-solve(H);G#求H的逆矩阵ev<-eigen(H);ev#求H的特征值和特征向量要点:数组初始化;for循环的使用待解决:如何将很长的命令(如for循环)用几行打出来再执行?每次想换行的时候一按回车就执行了还没打完的命令...Ex2.5StudentData<-data.frame(
4、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"));StudentData要点:数据框的使用待解决:SSH登陆linux服务器中文显示乱码。此处用英文代替。Ex2.6write.ta
5、ble(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")#把数据框StudentData_a在工作目录
6、里输出,输出的文件名为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="pleaseinputaintegerabove0!")else{repeat{if(n==1)breakelseif(n%
7、%2==0){n<-n/2}elsen<-3*n+1}list("sucess!")}}在linux下新建一个R文件,输入上述代码,保存为"2.7.R"然后在当前目录下进入R环境,输入source("2.7.R"),即打开了这个程序脚本。然后就可以执行函数了。输入Fun(67),显示"sucess!"输入Fun(-1),显示$fail[1]"pleaseinputaintegerabove0!"待解决:source("*.R")是可以理解为载入这个R文件吧?如何在R环境下关闭R文件呢?Ex3.1新建txt文件如
8、下:3.1.txt74.379.575.073.575.874.073.567.275.873.578.875.673.575.075.872.079.576.573.579.568.875.078.872.068.876.573.572.775.070.478.078.874.364.376.574.374.770.472.776.570.472.075.875.870.476.56