资源描述:
《R软件做判别分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、R软件做判别分析:1.距离判别(1)两总体discriminiant.distance<-function(TrnXl,TrnX2,TstX二NULL,var.equal二FALSE){if(is.null(TstX)二二TRUE)TstX<-rbind(TrnXl,TrnX2)if(is.vector(TstX)二二TRUE)TstX<-t(as.matrix(TstX))elseif(is.matrix(TstX)!二TRUE)TstX<-as.matrix(TstX)if(is.matri
2、x(TrnXl)!=TRUE)TrnXl<-as.matrix(TrnXl)if(is.matrix(TrnX2)!=TRUE)TrnX2<-as.matrix(TrnX2)nx<-nrow(TstX)blong<-matrix(rep(0,nx),nrow=l,byrow=TRUE,dimnames=list(〃blong〃,1:nx))mul<-colMeans(TrnXl);mu2<-colMeans(TrnX2)if(var.equal二二TRUEvar.equal二二T){S<-var
3、(rbind(TrnXl,TrnX2))mu2,S)-maha.la.nobis(TstX,mul,S)w<-mahalanobis(TstX,}else{SI<-var(TrnXl);S2<-var(TrnX2)w<-mahalanobis(TstX,mu2,S2)-mahalanobis(TstX,mul,SI)}for(iin1:nx){if(w[i]>0)blong[i]<-1elseblong[i<-2blong例1:数据classXl<-data.frame(xl二c(6.60,6.
4、60,6.10,6.10,8.40,7.2,8.40,7.50,7.50,8.30,7.80,7.80),x2=c(39.00,39.00,47.00,47.00,32.00,6.0,113.00,52.00,52.00,113.00,172.00,172.00),x3二c(1.00,1.00,1.00,1.00,2.00,1.0,3.50,1.00,3.50,0.00,1.00,1.50),x4二c(6.00,6.00,6.00,6.00,7.50,7.0,6.00,6.00,7.50,7.5
5、0,3.50,3.00),x5二c(6.00,12.00,6.00,12.00,19.00,28.0,18.00,12.00,6.00,35.00,14.00,15.00),x6=c(0.12,0.12,0.0&0.0&0.35,0.3,0.15,0.16,0.16,0.12,0.21,0.21),x7=c(20.00,20.00,12.00,12.00,75.00,30.0,75.00,40.00,40.00,180.00,45.00,45.00))cla.ssX2<-da.ta.・frame
6、(xl=c(8.40,8.40,8.40,6.3,7.00,7.00,7.00,8.30,8.30,7.2,7.2,7.2,5.50,8.40,8.40,7.50,7.50,8.30,8.30,8.30,8.30,7.80,7.80),x2=c(32.0,32.00,32.00,11.0,8.00,8.00,8.00,161.00,161.0,6.0,6.0,6.0,6.00,113.00,113.00,52.00,52.00,97.00,97.00,89.00,56.00,172.00,283
7、.00),x3=c(1.00,2.00,1.50,4.5,4.50,6.00,1.50,1.50,0.50,3.5,1.0,1.0,2.50,3.50,3.50,1.00),x4=c(5.00,9.00,4.00,1.00,1.00,0.00,2.50,0.00,1.50,1.00,7.5,4.50,7.50,6.00,4.00,2.50,4.0,3.0,6.0,3.00,4.50,4.50,6.00,7.50,6.00,6.00,6.00,6.00,3.50,4.50),x5=c(4.00,1
8、0.00,10.00,3.0,9.00,4.00,1.00,4.00,1.00,12.0,2.0,5.0,7.00,6.00,8.00,6.00,8.00,5.00,5.00,10.00,13.00,6.00,6.00),x6二c(0.35,0.35,0.35,0.2,0.25,0.25,0.25,0.0&0.0&0.30,0.3,0.3,0.1&0.15,0.15,0.16,0.16,0.15,0.15,0.16,0.25,0.21,0.18),x7二c(75.00,75.00,75.00,1