内容
グループ1(G1)、グループ2(G2)とあって、それぞれのデータがある。
このとき、あるデータAがあったとき、Aは、グループ1に属するか、
グループ2に属するかを見たい。
方法
0.インクルード(MASSを読み込む)
library(MASS)
1.データを作成・読み込む
<<グループ1、グループ2のデータが1項目しかないとき>>
例:ある試験 受験者10人(うち、5人合格)
グループ1(合格者):100,75,80,90,95
グループ2(不合格):68,65,50,40,55
Rでの入力:
label<-c(rep(1,5),rep(2,5))
g1<-c(100,75,80,90,95)
g2<-c(68,65,50,40,55)
dat<-c(g1,g2)
dat<-data.frame(dat)
<<グループ1、グループ2のデータが2項目のとき>>
例:国語と英語の試験 受験者10人(うち、5人合格)
グループ1(合格者)の国語:100,75,80,90,95
グループ1(合格者)の英語:100,75,80,90,95
グループ2(不合格)の国語:68,65,50,40,55
グループ2(不合格)の英語:68,65,50,40,55
Rでの入力:
label<-c(rep(1,5),rep(2,5))
kokugo<-c(100,75,80,90,95,68,65,50,40,55)
eigo<-c(90,80,76,74,78,68,55,30,20,45)
dat<-cbind(kokugo,eigo)
dat<-data.frame(dat)
2.判別分析の実行(以降、1項目でも2項目でも同じ)
result<-lda(label~.,data=dat)
3.判別分析の結果表示
係数を出す
result$scaling
定数項を出す
-mean(result$means %*% result$scaling)
判別得点の表
cbind(label,predict(result)$class,predict(result)$x)
判別結果
table(label,predict(result)$class)
4.新しいデータの判別
<<1項目の場合>>
x<-c(70)
x %*% result$scaling-mean(result$means %*% result$scaling)
<<2項目の場合>>
x<-c(87,70)
x %*% result$scaling-mean(result$means %*% result$scaling)
グループ1(G1)、グループ2(G2)とあって、それぞれのデータがある。
このとき、あるデータAがあったとき、Aは、グループ1に属するか、
グループ2に属するかを見たい。
方法
0.インクルード(MASSを読み込む)
library(MASS)
1.データを作成・読み込む
<<グループ1、グループ2のデータが1項目しかないとき>>
例:ある試験 受験者10人(うち、5人合格)
グループ1(合格者):100,75,80,90,95
グループ2(不合格):68,65,50,40,55
Rでの入力:
label<-c(rep(1,5),rep(2,5))
g1<-c(100,75,80,90,95)
g2<-c(68,65,50,40,55)
dat<-c(g1,g2)
dat<-data.frame(dat)
<<グループ1、グループ2のデータが2項目のとき>>
例:国語と英語の試験 受験者10人(うち、5人合格)
グループ1(合格者)の国語:100,75,80,90,95
グループ1(合格者)の英語:100,75,80,90,95
グループ2(不合格)の国語:68,65,50,40,55
グループ2(不合格)の英語:68,65,50,40,55
Rでの入力:
label<-c(rep(1,5),rep(2,5))
kokugo<-c(100,75,80,90,95,68,65,50,40,55)
eigo<-c(90,80,76,74,78,68,55,30,20,45)
dat<-cbind(kokugo,eigo)
dat<-data.frame(dat)
2.判別分析の実行(以降、1項目でも2項目でも同じ)
result<-lda(label~.,data=dat)
3.判別分析の結果表示
係数を出す
result$scaling
定数項を出す
-mean(result$means %*% result$scaling)
判別得点の表
cbind(label,predict(result)$class,predict(result)$x)
判別結果
table(label,predict(result)$class)
4.新しいデータの判別
<<1項目の場合>>
x<-c(70)
x %*% result$scaling-mean(result$means %*% result$scaling)
<<2項目の場合>>
x<-c(87,70)
x %*% result$scaling-mean(result$means %*% result$scaling)