setwd("D:/data") #设定工作路径
d5.6=read.csv("C:\\Users\\86167\\Desktop\\ex5.6.csv",header=T) #读入数据
attach(d5.6) #用变量名绑定对应数据
library(MASS)
ld=lda(G~x1+x2+x3+x4, prior=c(17,21)/38,data=d5.6[1:38,])
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
##回判正确率是约为87%
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
##其中前4个样品被预测为类别1(对应破产企业),后4个样品被预测为类别2(对应正常运行企业)。