方法
dat<-read.csv("data1.csv",header=TRUE)
dat<-data.frame(dat)
datX<-dat[,c(1,2)]
datY<-dat[,c(3,4,5)]
datX<-scale(datX)
datY<-scale(datY)
result<-cancor(datX,datY)
・正準相関係数の値
result$cor
・正準変数の係数
n<-dim(dat)[1]
sqrt(n-1)*sd(datX)*result$xcoef
sqrt(n-1)*sd(datY)*result$ycoef
・第1正準相関得点のプロット、第2正準相関得点のプロット
datU<-as.matrix(datX)%*%(sqrt(n-1)*sd(datX)*result$xcoef)
datV<-as.matrix(datY)%*%(sqrt(n-1)*sd(datY)*result$ycoef)
plot(datU[,1],datV[,1])
plot(datU[,2],datV[,2])
・正準負荷量
cor(datX,datU)
cor(datY,datV)
・正準寄与率
第一正準変数のXの寄与率
mean(cor(datX,datU)[,1]^2)
第一正準変数のYの寄与率
mean(cor(datY,datV)[,1]^2)
第二正準変数のXの寄与率
mean(cor(datX,datU)[,2]^2)
第二正準変数のYの寄与率
mean(cor(datY,datV)[,2]^2)
上記<-は、本当は半角
1.データ読み込み
dat<-read.csv("data1.csv",header=TRUE)
dat<-data.frame(dat)
datX<-dat[,c(1,2)]
datY<-dat[,c(3,4,5)]
datX<-scale(datX)
datY<-scale(datY)
2.正準相関分析
result<-cancor(datX,datY)
その他いろいろ
・正準相関係数の値
result$cor
・正準変数の係数
n<-dim(dat)[1]
sqrt(n-1)*sd(datX)*result$xcoef
sqrt(n-1)*sd(datY)*result$ycoef
・第1正準相関得点のプロット、第2正準相関得点のプロット
datU<-as.matrix(datX)%*%(sqrt(n-1)*sd(datX)*result$xcoef)
datV<-as.matrix(datY)%*%(sqrt(n-1)*sd(datY)*result$ycoef)
plot(datU[,1],datV[,1])
plot(datU[,2],datV[,2])
・正準負荷量
cor(datX,datU)
cor(datY,datV)
・正準寄与率
第一正準変数のXの寄与率
mean(cor(datX,datU)[,1]^2)
第一正準変数のYの寄与率
mean(cor(datY,datV)[,1]^2)
第二正準変数のXの寄与率
mean(cor(datX,datU)[,2]^2)
第二正準変数のYの寄与率
mean(cor(datY,datV)[,2]^2)
上記<-は、本当は半角