setwd("D:\\Rdownload\\lianxi\\fifth") #设定工作路径
d5.6<-read.csv("ex5.6.csv", header = T) #读入数据
colnames(d5.6) <- c("序号", "x1", "x2", "x3", "x4", "G")
attach(d5.6) #用变量名绑定对应数据
library(MASS) #加载MASS程序包
ld=lda(G~ x1 + x2 + x3 + x4, prior = c(17,21)/38, data=d5.6[1:38,]) #进行Bayes判别
ld #输出Bayes判别结果
## Call:
## lda(G ~ x1 + x2 + x3 + x4, data = d5.6[1:38, ], prior = c(17,
## 21)/38)
##
## Prior probabilities of groups:
## 1 2
## 0.4473684 0.5526316
##
## Group means:
## x1 x2 x3 x4
## 1 -0.07941176 -0.088823529 1.348824 0.4300000
## 2 0.22571429 0.005238095 2.672857 0.4409524
##
## Coefficients of linear discriminants:
## LD1
## x1 2.9467933
## x2 -1.2905768
## x3 0.7666717
## x4 -0.5895412
Z=predict(ld) #进行回判
newG=Z$class #列出新分类
cbind(G[1:38],newG,Z$post,Z$x) #按列合并相应部分
## newG 1 2 LD1
## 1 "1" "1" "0.951209074976659" "0.0487909250233406" "-1.87498409300196"
## 2 "1" "1" "0.947804663736176" "0.0521953362638236" "-1.83521998991981"
## 3 "1" "1" "0.791459854680252" "0.208540145319748" "-0.958924186613901"
## 4 "1" "1" "0.733885655770335" "0.266114344229665" "-0.780172566716964"
## 5 "1" "1" "0.810534931370835" "0.189465068629165" "-1.02595437016934"
## 6 "1" "1" "0.921548507869701" "0.0784514921302992" "-1.59138750532567"
## 7 "1" "1" "0.951333049987091" "0.0486669500129089" "-1.87648124680171"
## 8 "1" "1" "0.670900512806054" "0.329099487193946" "-0.61102357007802"
## 9 "1" "1" "0.575779945368292" "0.424220054631708" "-0.383308957820803"
## 10 "1" "1" "0.929200838188875" "0.0707991618111248" "-1.65346953044984"
## 11 "1" "2" "0.40148041566514" "0.59851958433486" "0.0112146283313096"
## 12 "1" "2" "0.189404117594777" "0.810595882405223" "0.601558910446199"
## 13 "1" "1" "0.764309422520964" "0.235690577479036" "-0.87087255776738"
## 14 "1" "1" "0.744798644473102" "0.255201355526898" "-0.811875516049422"
## 15 "1" "1" "0.80519426807303" "0.19480573192697" "-1.0066926355201"
## 16 "1" "1" "0.691069275091886" "0.308930724908114" "-0.663006705697663"
## 17 "1" "1" "0.901563595421289" "0.098436404578711" "-1.45208154523264"
## 18 "2" "2" "0.061214489196187" "0.938785510803813" "1.31602499740894"
## 19 "2" "2" "0.498949674376309" "0.501050325623691" "-0.209956992703311"
## 20 "2" "2" "0.0439167342941523" "0.956083265705848" "1.5121445941594"
## 21 "2" "2" "0.258568976339126" "0.741431023660875" "0.377382413012488"
## 22 "2" "2" "0.0162839458075177" "0.983716054192482" "2.08346830153382"
## 23 "2" "2" "0.0131376591463985" "0.986862340853602" "2.20544048587208"
## 24 "2" "2" "0.337248140112257" "0.662751859887743" "0.165873404289155"
## 25 "2" "1" "0.569021773467342" "0.430978226532658" "-0.367852045832071"
## 26 "2" "2" "0.230513108007367" "0.769486891992633" "0.462468194163585"
## 27 "2" "2" "0.47860817968787" "0.52139182031213" "-0.164380072925443"
## 28 "2" "2" "0.377165886679261" "0.622834113320739" "0.0684778827330926"
## 29 "2" "2" "0.114079343418433" "0.885920656581567" "0.935106376696436"
## 30 "2" "1" "0.802686309790678" "0.197313690209322" "-0.997785537025995"
## 31 "2" "2" "0.261719150965792" "0.738280849034208" "0.368220188872751"
## 32 "2" "1" "0.61484480565648" "0.38515519434352" "-0.474134663319322"
## 33 "2" "2" "0.220544080486415" "0.779455919513585" "0.494422191413581"
## 34 "2" "2" "0.00394884581450975" "0.99605115418549" "2.88352663094246"
## 35 "2" "2" "0.32906843222442" "0.67093156777558" "0.186484640845839"
## 36 "2" "2" "0.042650876098849" "0.957349123901151" "1.52925772169081"
## 37 "2" "2" "0.190740485451104" "0.809259514548897" "0.596699476623414"
## 38 "2" "2" "0.000754558268053544" "0.999245441731947" "3.811793249936"
tab=table(G[1:38], newG)
tab #新旧分类列表比较
## newG
## 1 2
## 1 15 2
## 2 3 18
sum(diag(prop.table(tab))) #计算判别符合率
## [1] 0.8684211
newdata= d5.6[39:46, 2:5] #选取待判样本
predict(ld, newdata= newdata) #对未判别的数据进行判别
## $class
## [1] 1 1 1 1 2 2 2 2
## Levels: 1 2
##
## $posterior
## 1 2
## 39 0.74485549 0.2551445
## 40 0.78380127 0.2161987
## 41 0.65829504 0.3417050
## 42 0.80932892 0.1906711
## 43 0.36582186 0.6341781
## 44 0.24701801 0.7529820
## 45 0.28037669 0.7196233
## 46 0.06243681 0.9375632
##
## $x
## LD1
## 39 -0.8120429
## 40 -0.9332914
## 41 -0.5793647
## 42 -1.0215689
## 43 0.0956770
## 44 0.4116193
## 45 0.3153435
## 46 1.3042280
##有18个样本被正确分类,而有3个样本被错误分类。因此,误判率为3/21=0.143,回判正确率为18/21=0.857。
##待判别的八个企业中,前四个企业被判别为1,即破产企业;后四个企业被判别为2,即正常运行企业。