R 软件做判别分析 :
距离判别
(1) 两样本
<- function(TrnX1, TrnX2, TstX = NULL,
FALSE)
{
if ((TstX) == TRUE) TstX <- rbind(TrnX1,TrnX2) if ((TstX) == TRUE) TstX <- t((TstX)) else if ((TstX) != TRUE)
TstX <- (TstX)
if ((TrnX1) != TRUE) TrnX1 <- (TrnX1) if ((TrnX2) != TRUE) TrnX2 <- (TrnX2) nx <- nrow(TstX)
blong <- matrix(rep(0, nx), nrow=1, byrow=TRUE, dimnames=list("blong", 1:nx))
mu1 <- colMeans(TrnX1); mu2 <- colMeans(TrnX2) if ( == TRUE || == T){
S <- var(rbind(TrnX1,TrnX2))
w <- mahalanobis(TstX, mu2, S)- mahalanobis(TstX, mu1, S)
}
else{
S1 <-var(TrnX1); S2 <- var(TrnX2)
w <- mahalanobis(TstX, mu2, S2)- mahalanobis(TstX, mu1, S1)
}
for (i in 1:nx){
if (w[i] > 0) blong[i] <- 1
else
blong[i] <- 2
}
blong
}
1: 数据
classX1<-(
x1=c(, , , , , , , , , , , ),
x2=c(,, , , , , , , ,,,),
x3=c(, , , , , , , , , , , ),
x4=c(, , , , , , , , , , , ),
x5=c(, , , , , , , , , , , ),
x6=c(, , , ,
R软件做判别分析 来自淘豆网www.taodocs.com转载请标明出处.