有向比例分散分析 のRによる実施例です。
行の項目が分子、列の項目が分母になる比についての歪度を、行列形式でまとめます。
GM1という行列は、例えば、歪度の行列の2行目1列と、1行目2列で、高い方の成分を1、低い方の成分を0として、有効グラフの作成用に作っています。
library(igraph)
library(e1071)
setwd("C:/Rtest")
Data <- read.csv("Data.csv", header=T)
n <- ncol(Data)
SKEW <- matrix(0,nrow=n,ncol=n)
rownames(SKEW)<-colnames(Data)
colnames(SKEW)<-colnames(Data)
GM1 <- SKEW
for (i in 1:n) {
for (j in 1:n) {
if( i > j){
SKEW[i,j] <- skewness(Data[,j]/Data[,i], type=2)
SKEW[j,i] <- skewness(Data[,i]/Data[,j], type=2)
if( abs(SKEW[i,j]) < abs(SKEW[j,i])){
GM1[i,j] <- 1
} else {
GM1[j,i] <- 1
}
}
}
}
SKEW # 尖度の行列
plot(graph.adjacency(GM1,weighted=T, mode = "directed"))