附录 R应用程序代码求解多元统计问题

时间:2022-11-23 12:04:42 作者:壹号 字数:1812字

附表 R应用程序

R软件是一个开放的完全免费的自由软件,具有强大的数据统计分析能力和作图功能。利用R软件,可以很方便地实现数据整理与统计分析。关于R软件的下载和安装,只需打开网页http://cran.r-project.org/,对于Windows 用户,可以继续点击Download R for Windows进入下载页面,下载完毕后就像一般的Windows 软件安装即可。安装完毕之后,程序会默认在桌面创建R主程序的快捷方式,通过点击该快捷方式,可以调出R的主窗口。然后本书的程序都可以直接拷贝到主窗口运行。本书的程序均在R-2.15.2上运行过。

第一章R程序 #数据读入

#C=read.csv(file=file.choose(),head=T)#根据弹出的目录框选择文件存放的位置并打开。 C=read.csv(需要改变工作目录到数据文件存放的目录内 colMeans(C)#每列求平均值 cov(C)

cor(C)#由于窗口显示不了太多的数据,需要借助输出命令来获取计算结果 write.table(cor(C),file =输出结果存放在工作目录 #例1.1

C1=C[1:12,1:3];C1 colMeans(C1) cov(C1) cor(C1)

cor.test(~X1+X2, data=C1)#相关性检验 cor.test(~X1+X3, data=C1) cor.test(~X2+X3, data=C1) #例1.2

D=read.csv(

outline=function(x, txt=TRUE){if (is.data.frame(x)==TRUE)#轮廓图 x=as.matrix(x);m=nrow(x); n=ncol(x)

plot(c(1,n), c(min(x),max(x)), type=xlab= for(i in 1:m){lines(x[i,], col=i) if (txt==TRUE){k=dimnames(x)[[1]][i] text(1+(i-1)%%n, x[i,1+(i-1)%%n], k)}}} outline(D)

outline(scale(D))#数据标准化后的轮廓图 stars(D)#星图

stars(D,full=FALSE, draw.segments = TRUE,key.loc = c(5,0.5), mar = c(2,0,0,0))#半幅星图

119

library(aplpack)#加载脸谱图的程序包 faces(D)#脸谱图 #例1.3

D=read.csv(

unison<-function(x){ if (is.data.frame(x)==TRUE)

x<-as.matrix(x); t<-seq(-pi, pi, pi/30); m<-nrow(x); n<-ncol(x); f<-array(0, c(m,length(t))) for(i in 1:m){f[i,]<-x[i,1]/sqrt(2)

for( j in 2:n){ if (j%%2==0) f[i,]<-f[i,]+x[i,j]*sin(j/2*t) else f[i,]<-f[i,]+x[i,j]*cos(j%/%2*t) } }

plot(c(-pi,pi), c(min(f),max(f)), type=main=Unison graph of Dataxlab=ylab=

for(i in 1:m) lines(t, f[i,] , col=i)} unison(D)

第二章R程序 #图2.1 rm(list=ls())

x=seq(from=-5,to=10,by=0.01) y1=dnorm(x,0,1) #计算密度 y2=dnorm(x,4,2) #计算密度

plot(x,y1,type=lines(x,y2,type=axis(2)

rect(-5.8, 0, 10, 0.4) rect(0, 0, 0, 0.4) rect(1.658, 0, 1.658, 0.1) rect(4, 0, 4, 0.2)

text(1.658,-0.01,expression(A),cex=1) text(0,-0.008,expression(0),cex=0.9) text(4,-0.01,expression(4),cex=1) #图2.2 #(a)

plot(0,0,type=points(0.46,1.35);text(0.5,1.25,expression(italic(w)[6]),cex=1.2) points(1.06,1.35);text(1.1,1.25,expression(italic(w)[4]),cex=1.2) points(0.96,1.65);text(1,1.55,expression(italic(w)[5]),cex=1.2) points(0.26,1.95);text(0.3,1.85,expression(italic(w)[7]),cex=1.2) points(2.16,1.15);text(2.2,1.05,expression(italic(w)[3]),cex=1.2)

120

…… 此处隐藏1831字 ……

122

segments(3.5,2,2.5,2.6) segments(2.5,3,3.5,3.6) segments(4.5,3,3.5,3.6) #图2.4 #(a)

x=c(1,1,2,2,3,3,4,4,5,5,3.5,3.5,3.5,4.3,4.3,1.5,1.5) y=c(0,1,1,0,0,2,2,0,0,4,4,2,4,4,6,6,1)

plot(x,y,type=arrows(-0.3,0, 5.5, 0,length=0.08,lwd=1,angle=13) arrows(0,-0.2, 0, 6.5,length=0.08,lwd=1,angle=13) text(0.2,6.4,expression(italic(f)),cex=1.2) text(5.4,0.3,expression(italic(x)),cex=1.2) text(-0.1,-0.2,expression(0),cex=0.8) text(5,-0.2,expression(italic(w)[5]),cex=1) text(4,-0.2,expression(italic(w)[4]),cex=1) text(3,-0.2,expression(italic(w)[3]),cex=1) text(2,-0.2,expression(italic(w)[2]),cex=1) text(1,-0.2,expression(italic(w)[1]),cex=1) text(1.5,0.7,expression(italic(h)[6]),cex=0.9) text(3.5,1.7,expression(italic(h)[7]),cex=0.9) text(4.3,3.7,expression(italic(h)[8]),cex=0.9) text(3,5.7,expression(italic(h)[9]),cex=0.9) text(-0.12,1,expression(1),cex=1) text(-0.12,2,expression(2),cex=1) text(-0.12,3,expression(3),cex=1) text(-0.12,4,expression(4),cex=1) text(-0.12,5,expression(5),cex=1) text(-0.12,6,expression(6),cex=1) text(2.7,-0.6,expression((a)),cex=1) rect(0,1,1,1,lty=2) rect(0,2,3,2,lty=2) rect(0,4,3.5,4,lty=3) rect(0,6,1.5,6,lty=3) #(b)

plot(0,0,type=text(5,2.2,expression(italic(w)[5]),cex=1) text(4,0.8,expression(italic(w)[4]),cex=1) text(3,0.8,expression(italic(w)[3]),cex=1)

123