1. 준비작업

rm(list=ls())
gc()
##          used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 515789 27.6    1151561 61.5   644242 34.5
## Vcells 926229  7.1    8388608 64.0  1637239 12.5
# install.packages("FuzzyAHP")
# install.packages("tidyverse")
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library("FuzzyAHP")
## 필요한 패키지를 로딩중입니다: MASS
## 
## 다음의 패키지를 부착합니다: 'MASS'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
library(psych)
## 
## 다음의 패키지를 부착합니다: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(ggplot2)


FuzzyTOPSISVector <- function(decision, #matrix with all the alternatives
                           weights,  #vector with the numeric values of the weights
                           cb        #vector with the "type" of the criteria (benefit = "max", cost = "min")
)
{
  #Checking the arguments
  if(! is.matrix(decision))
    stop("'decision' must be a matrix with the values of the alternatives")
  if(missing(weights))
    stop("a vector containing n weigths, adding up to 1, should be provided")
  #   if(sum(weights[seq(2, length(weights), 3)]) != 1)
  #     stop("The sum of 'weights' is not equal to 1")
  if(! is.character(cb))
    stop("'cb' must be a character vector with the type of the criteria")
  if(! all(cb == "max" | cb == "min"))
    stop("'cb' should contain only 'max' or 'min'")
  if(length(weights) != ncol(decision))
    stop("length of 'weights' does not match the number of the criteria")
  if(length(cb) != ncol(decision)/3)
    stop("length of 'cb' does not match the number of the criteria")


  #TOPSIS method

  # Conversion of cb in "fuzzy" values
  new_cb <- c(1:ncol(decision))
  k=1
  for(j in seq(1, ncol(decision), 3)){
    if (cb[k] == 'max'){
      new_cb[j] <- 'max'
      new_cb[j+1] <- 'max'
      new_cb[j+2] <- 'max'
    }
    else{
      new_cb[j] <- 'min'
      new_cb[j+1] <- 'min'
      new_cb[j+2] <- 'min'
    }
    k=k+1
  }

  #1. Normalization and weighting
  N <- matrix(nrow = nrow(decision), ncol = ncol(decision))

  denominator = (apply(decision^2,2,sum))^(1/2)
  for(i in seq(1, ncol(decision), 3)){
    N[,i] = decision[,i]/denominator[i+2]
    N[,i+1] = decision[,i+1]/denominator[i+1]
    N[,i+2] = decision[,i+2]/denominator[i]
  }

  W <- diag(weights)
  NW <- N%*%W

  #2. Ideal solutions
  posI <- as.integer(new_cb == "max") * apply(NW, 2, max) +
    as.integer(new_cb == "min") * apply(NW, 2, min)
  negI <- as.integer(new_cb == "min") * apply(NW, 2, max) +
    as.integer(new_cb == "max") * apply(NW, 2, min)

  #3. Distances to the ideal solutions
  distance_pos = matrix(0,nrow = nrow(decision), ncol = ncol(decision))
  distance_neg = matrix(0,nrow = nrow(decision), ncol = ncol(decision))
  for(j in seq(1, ncol(decision), 3)){
    distance_pos[,j] = (NW[,j]-posI[j])^2
    distance_pos[,j+1] = (NW[,j+1]-posI[j+1])^2
    distance_pos[,j+2] = (NW[,j+2]-posI[j+2])^2
    distance_neg[,j] = (NW[,j]-negI[j])^2
    distance_neg[,j+1] = (NW[,j+1]-negI[j+1])^2
    distance_neg[,j+2] = (NW[,j+2]-negI[j+2])^2
  }

  posDis <- matrix(nrow = nrow(decision), ncol = 3)
  negDis <- matrix(nrow = nrow(decision), ncol = 3)
  posDis[,1] <- apply(distance_pos[,seq(1, ncol(decision), 3)], 1, sum)^(1/2)
  posDis[,2] <- apply(distance_pos[,seq(2, ncol(decision), 3)], 1, sum)^(1/2)
  posDis[,3] <- apply(distance_pos[,seq(3, ncol(decision), 3)], 1, sum)^(1/2)
  negDis[,1] <- apply(distance_neg[,seq(1, ncol(decision), 3)], 1, sum)^(1/2)
  negDis[,2] <- apply(distance_neg[,seq(2, ncol(decision), 3)], 1, sum)^(1/2)
  negDis[,3] <- apply(distance_neg[,seq(3, ncol(decision), 3)], 1, sum)^(1/2)

  #4. R index(closeness coefficient)
  R <- matrix(nrow = nrow(decision), ncol = 3)
  denominator = negDis+posDis
  R[,1] <- negDis[,1]/denominator[,3]
  R[,2] <- negDis[,2]/denominator[,2]
  R[,3] <- negDis[,3]/denominator[,1]

  Def_R <- (1/3)*((R[,1]+R[,2]*4+R[,3])/2)
  Pos <- (1/3) * (posDis[,1] + posDis[,2] + posDis[,3])
  Neg <- (1/3) * (negDis[,1] + negDis[,2] + negDis[,3])

  #5. Rank the alternatives
  return(data.frame(Alternatives = 1:nrow(decision), Def_R = Def_R, posDis = Pos, negDis = Neg, Ranking = rank(-Def_R, ties.method= "first")))
}

Fuzzy AHP 평가기준 가중치 구하기(한사람씩)

FuzzyAHP_KONA…pdf 빨간색 참조해서 작성할 것

## 엑셀파일에 입력하기
library(readxl)
# 제1수준 평가기준(안보, 외교, 경제)
data_list<- list()


files = list.files(path = "./data/", 
                   pattern = "*.xlsx", 
                   full.names = TRUE)
for (file in files) {
  data <- read_excel(file, col_names = FALSE, range = "B2:D4")
  data_list[[file]] <- data
}
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
names(data_list) <- gsub(".*/(.*)\\..*", "\\1", files)
summary(data_list$dm1)
##       ...1             ...2             ...3  
##  Min.   :0.1429   Min.   :0.1429   Min.   :1  
##  1st Qu.:0.1429   1st Qu.:0.5714   1st Qu.:4  
##  Median :0.1429   Median :1.0000   Median :7  
##  Mean   :0.4286   Mean   :2.7143   Mean   :5  
##  3rd Qu.:0.5714   3rd Qu.:4.0000   3rd Qu.:7  
##  Max.   :1.0000   Max.   :7.0000   Max.   :7
# 제2수준 첫번째 평가기준(안보)
data_list1 <- list()


for (file in files) {
  data <- read_excel(file, col_names = FALSE, range = "E2:G4")
  data_list1[[file]] <- data
}
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
names(data_list1) <- gsub(".*/(.*)\\..*", "\\1", files)

# 제2수준 두번째 평가기준(외교)
data_list2 <- list()


for (file in files) {
  data <- read_excel(file, col_names = FALSE, range = "H2:J4")
  data_list2[[file]] <- data
}
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
names(data_list2) <- gsub(".*/(.*)\\..*", "\\1", files)


# 제2수준 세번째 평가기준(경제)
data_list3 <- list()


for (file in files) {
  data <- read_excel(file, col_names = FALSE, range = "K2:M4")
  data_list3[[file]] <- data
}
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
names(data_list3) <- gsub(".*/(.*)\\..*", "\\1", files)
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm1 <- as.matrix(data_list$dm1)  ## 차례대로 입력하기.. data_list(dm1 -> dm1 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm1)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "7" 
## [2,] "1/7" "1"   "7" 
## [3,] "1/7" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 6.000    6
## [2,] 0.125 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.70588235 0.17527184 0.04761905
## 
## Slot "fnModal":
## [1] 0.7418642 0.2027336 0.0554022
## 
## Slot "fnMax":
## [1] 0.77164648 0.23529412 0.06576935
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 6.000    6
## [2,] 0.125 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix)
## [1] 0.2178446
weakConsistency(fuzzyComparisonMatrix)
## The fuzzy comparison matrix is weakly consistent.
## [1] TRUE
list1dm1 <- as.matrix(data_list1$dm1)  ## 차례대로 입력하기.. data_list(dm1 -> dm1 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm1)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "7" 
## [2,] "7"   "1"   "7" 
## [3,] "1/7" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    6
## [2,] 6.000 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.17527184 0.70588235 0.04761905
## 
## Slot "fnModal":
## [1] 0.2027336 0.7418642 0.0554022
## 
## Slot "fnMax":
## [1] 0.23529412 0.77164648 0.06576935
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    6
## [2,] 6.000 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix1)
## [1] 0.2178446
weakConsistency(fuzzyComparisonMatrix)
## The fuzzy comparison matrix is weakly consistent.
## [1] TRUE
list2dm1 <- as.matrix(data_list2$dm1)  ## 차례대로 입력하기.. data_list(dm1 -> dm1 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm1)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "7"  "7"  
## [2,] "1/7" "1"  "1/7"
## [3,] "1/7" "7"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.1428571    7 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2]  [,3]
## [1,] 1.000    6 6.000
## [2,] 0.125    1 0.125
## [3,] 0.125    6 1.000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.1428571    7 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1666667    1 0.1666667
## [3,] 0.1666667    8 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.70588235 0.04761905 0.17527184
## 
## Slot "fnModal":
## [1] 0.7418642 0.0554022 0.2027336
## 
## Slot "fnMax":
## [1] 0.77164648 0.06576935 0.23529412
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2]  [,3]
## [1,] 1.000    6 6.000
## [2,] 0.125    1 0.125
## [3,] 0.125    6 1.000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.1428571    7 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1666667    1 0.1666667
## [3,] 0.1666667    8 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix2)
## [1] 0.2178446
weakConsistency(fuzzyComparisonMatrix)
## The fuzzy comparison matrix is weakly consistent.
## [1] TRUE
list3dm1 <- as.matrix(data_list3$dm1)  ## 차례대로 입력하기.. data_list(dm1 -> dm1 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm1)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "7" 
## [2,] "1/7" "1"   "7" 
## [3,] "1/7" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 6.000    6
## [2,] 0.125 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.70588235 0.17527184 0.04761905
## 
## Slot "fnModal":
## [1] 0.7418642 0.2027336 0.0554022
## 
## Slot "fnMax":
## [1] 0.77164648 0.23529412 0.06576935
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]  [,2] [,3]
## [1,] 1.000 6.000    6
## [2,] 0.125 1.000    6
## [3,] 0.125 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    7
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix3)
## [1] 0.2178446
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm1C0 <- array(NA,dim = c(n,n,3))
dm1C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm1C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm1C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm1D0 <- new.function(dm1C0)
dm1D0 # 퍼지점수 c(dm1D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.3019272 3.6593057 4.0000000
## [2,] 0.9085603 1.0000000 1.1006424
## [3,] 0.2500000 0.2732759 0.3028534
dm1Cw0 <- rowMeans(dm1D0)/sum(rowMeans(dm1D0)) # 평균 가중치
dm1Cw0
## [1] 0.74079578 0.20337171 0.05583251
sum(dm1Cw0)
## [1] 1
dm1C1 <- array(NA,dim = c(n,n,3))
dm1C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm1C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm1C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm1D1 <- new.function(dm1C1)
dm1D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.9085603 1.0000000 1.1006424
## [2,] 3.3019272 3.6593057 4.0000000
## [3,] 0.2500000 0.2732759 0.3028534
dm1Cw1 <- rowMeans(dm1D1)/sum(rowMeans(dm1D1)) # 평균 가중치
dm1Cw1
## [1] 0.20337171 0.74079578 0.05583251
sum(dm1Cw1)
## [1] 1
dm1C2 <- array(NA,dim = c(n,n,3))
dm1C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm1C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm1C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm1D2 <- new.function(dm1C2)
dm1D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.3019272 3.6593057 4.0000000
## [2,] 0.2500000 0.2732759 0.3028534
## [3,] 0.9085603 1.0000000 1.1006424
dm1Cw2 <- rowMeans(dm1D2)/sum(rowMeans(dm1D2)) # 평균 가중치
dm1Cw2
## [1] 0.74079578 0.05583251 0.20337171
sum(dm1Cw2)
## [1] 1
dm1C3 <- array(NA,dim = c(n,n,3))
dm1C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm1C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm1C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm1D3 <- new.function(dm1C3)
dm1D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.3019272 3.6593057 4.0000000
## [2,] 0.9085603 1.0000000 1.1006424
## [3,] 0.2500000 0.2732759 0.3028534
dm1Cw3 <- rowMeans(dm1D3)/sum(rowMeans(dm1D3)) # 평균 가중치
dm1Cw3
## [1] 0.74079578 0.20337171 0.05583251
sum(dm1Cw3)
## [1] 1
print(c(dm1Cw0[1]*dm1Cw1, dm1Cw0[2]*dm1Cw2, dm1Cw0[3]*dm1Cw3))  ## dm1 최종 9개 기준의 글로벌 가중치
## [1] 0.150656905 0.548778393 0.041360486 0.150656905 0.011354752 0.041360052
## [7] 0.041360486 0.011354752 0.003117269
dm1wt1 <- c(dm1Cw0[1]*dm1Cw1, dm1Cw0[2]*dm1Cw2, dm1Cw0[3]*dm1Cw3)
sum(dm1wt1)
## [1] 1
dm1wt1
## [1] 0.150656905 0.548778393 0.041360486 0.150656905 0.011354752 0.041360052
## [7] 0.041360486 0.011354752 0.003117269
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm2 <- as.matrix(data_list$dm2)  ## 차례대로 입력하기.. data_list(dm1 -> dm2 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm2)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "9"  "9"  
## [2,] "1/9" "1"  "1/9"
## [3,] "1/9" "9"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 9.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1111111    9 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1111111    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 9.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1111111    9 1.0000000
## 
## Slot "fnMax":
##       [,1] [,2]  [,3]
## [1,] 1.000    9 9.000
## [2,] 0.125    1 0.125
## [3,] 0.125    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.75751595 0.04158436 0.17391304
## 
## Slot "fnModal":
## [1] 0.77849057 0.04158436 0.17992507
## 
## Slot "fnMax":
## [1] 0.78260870 0.04761905 0.19696209
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1111111    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 9.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1111111    9 1.0000000
## 
## Slot "fnMax":
##       [,1] [,2]  [,3]
## [1,] 1.000    9 9.000
## [2,] 0.125    1 0.125
## [3,] 0.125    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix)
## [1] 0.2804168
list1dm2 <- as.matrix(data_list1$dm2)  ## 차례대로 입력하기.. data_list(dm2 -> dm2 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm2)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/9" "9" 
## [2,] "9"   "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    9
## [2,] 9.000 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.17391304 0.75751595 0.04158436
## 
## Slot "fnModal":
## [1] 0.17992507 0.77849057 0.04158436
## 
## Slot "fnMax":
## [1] 0.19696209 0.78260870 0.04761905
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    9
## [2,] 9.000 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix1)
## [1] 0.2804168
list2dm2 <- as.matrix(data_list2$dm2)  ## 차례대로 입력하기.. data_list(dm2 -> dm2 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm2)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "9"   "9" 
## [2,] "1/9" "1"   "2" 
## [3,] "1/9" "1/2" "1" 
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000  9.0    9
## [2,] 0.1111111  1.0    2
## [3,] 0.1111111  0.5    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    1
## [3,] 0.1111111 0.3333333    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  9.0    9
## [2,] 0.1111111  1.0    2
## [3,] 0.1111111  0.5    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9    9
## [2,] 0.125    1    3
## [3,] 0.125    1    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.78929629 0.09090909 0.06226522
## 
## Slot "fnModal":
## [1] 0.81421278 0.11398265 0.07180457
## 
## Slot "fnMax":
## [1] 0.8181818 0.1422953 0.1000000
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    1
## [3,] 0.1111111 0.3333333    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  9.0    9
## [2,] 0.1111111  1.0    2
## [3,] 0.1111111  0.5    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9    9
## [2,] 0.125    1    3
## [3,] 0.125    1    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix2)
## [1] 0.02681079
list3dm2 <- as.matrix(data_list3$dm2)  ## 차례대로 입력하기.. data_list(dm2 -> dm2 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm2)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/9" "9" 
## [2,] "9"   "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    9
## [2,] 9.000 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.17391304 0.75751595 0.04158436
## 
## Slot "fnModal":
## [1] 0.17992507 0.77849057 0.04158436
## 
## Slot "fnMax":
## [1] 0.19696209 0.78260870 0.04761905
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    8
## [2,] 8.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 0.125    9
## [2,] 9.000 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix3)
## [1] 0.2804168
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm2C0 <- array(NA,dim = c(n,n,3))
dm2C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm2C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm2C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm2D0 <- new.function(dm2C0)
dm2D0 # 퍼지점수 c(dm2D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 4.0000000 4.3267487 4.326749
## [2,] 0.2311204 0.2311204 0.250000
## [3,] 0.9614997 1.0000000 1.040042
dm2Cw0 <- rowMeans(dm2D0)/sum(rowMeans(dm2D0)) # 평균 가중치
dm2Cw0
## [1] 0.77309715 0.04351614 0.18338671
sum(dm2Cw0)
## [1] 1
dm2C1 <- array(NA,dim = c(n,n,3))
dm2C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm2C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm2C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm2D1 <- new.function(dm2C1)
dm2D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.9614997 1.0000000 1.040042
## [2,] 4.0000000 4.3267487 4.326749
## [3,] 0.2311204 0.2311204 0.250000
dm2Cw1 <- rowMeans(dm2D1)/sum(rowMeans(dm2D1)) # 평균 가중치
dm2Cw1
## [1] 0.18338671 0.77309715 0.04351614
sum(dm2Cw1)
## [1] 1
dm2C2 <- array(NA,dim = c(n,n,3))
dm2C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm2C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm2C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm2D2 <- new.function(dm2C2)
dm2D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 4.0000000 4.3267487 4.3267487
## [2,] 0.4807499 0.6057069 0.7211248
## [3,] 0.3333333 0.3815714 0.5000000
dm2Cw2 <- rowMeans(dm2D2)/sum(rowMeans(dm2D2)) # 평균 가중치
dm2Cw2
## [1] 0.80719001 0.11530897 0.07750102
sum(dm2Cw2)
## [1] 1
dm2C3 <- array(NA,dim = c(n,n,3))
dm2C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm2C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm2C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm2D3 <- new.function(dm2C3)
dm2D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.9614997 1.0000000 1.040042
## [2,] 4.0000000 4.3267487 4.326749
## [3,] 0.2311204 0.2311204 0.250000
dm2Cw3 <- rowMeans(dm2D3)/sum(rowMeans(dm2D3)) # 평균 가중치
dm2Cw3
## [1] 0.18338671 0.77309715 0.04351614
sum(dm2Cw3)
## [1] 1
print(c(dm2Cw0[1]*dm2Cw1, dm2Cw0[2]*dm2Cw2, dm2Cw0[3]*dm2Cw3))  ## dm2 최종 9개 기준의 글로벌 가중치
## [1] 0.141775743 0.597679202 0.033642204 0.035125794 0.005017801 0.003372545
## [7] 0.033630686 0.141775743 0.007980282
dm2wt1 <- c(dm2Cw0[1]*dm2Cw1, dm2Cw0[2]*dm2Cw2, dm2Cw0[3]*dm2Cw3)
sum(dm2wt1)
## [1] 1
dm2wt1
## [1] 0.141775743 0.597679202 0.033642204 0.035125794 0.005017801 0.003372545
## [7] 0.033630686 0.141775743 0.007980282
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm3 <- as.matrix(data_list$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm3)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "9"  "9"  
## [2,] "1/9" "1"  "1/5"
## [3,] "1/9" "5"  "1"  
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1666667
## [3,] 0.1111111    4 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9 9.00
## [2,] 0.125    1 0.25
## [3,] 0.125    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.77164648 0.04841205 0.14151287
## 
## Slot "fnModal":
## [1] 0.79682831 0.05177645 0.15139525
## 
## Slot "fnMax":
## [1] 0.80232771 0.06165589 0.17527184
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1666667
## [3,] 0.1111111    4 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9 9.00
## [2,] 0.125    1 0.25
## [3,] 0.125    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix)
## [1] 0.1473897
list1dm3 <- as.matrix(data_list1$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm3)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "7" 
## [2,] "7"   "1"   "9" 
## [3,] "1/7" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.1703563 0.7290524 0.0445094
## 
## Slot "fnModal":
## [1] 0.19119095 0.76075974 0.04804931
## 
## Slot "fnMax":
## [1] 0.22079601 0.78003707 0.05604768
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix1)
## [1] 0.1638237
list2dm3 <- as.matrix(data_list2$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm3)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "9" 
## [2,] "1/7" "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 8.000    9
## [2,] 0.1666667 1.000    9
## [3,] 0.1250000 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.72404901 0.18516658 0.04255319
## 
## Slot "fnModal":
## [1] 0.75111159 0.20526068 0.04362773
## 
## Slot "fnMax":
## [1] 0.77032402 0.22806115 0.05015162
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 8.000    9
## [2,] 0.1666667 1.000    9
## [3,] 0.1250000 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix2)
## [1] 0.2178446
list3dm3 <- as.matrix(data_list3$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm3)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "5"   "7" 
## [2,] "1/5" "1"   "5" 
## [3,] "1/7" "1/5" "1" 
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.66584826 0.18113546 0.05604768
## 
## Slot "fnModal":
## [1] 0.71470956 0.21849437 0.06679607
## 
## Slot "fnMax":
## [1] 0.75355390 0.26424206 0.08193475
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix3)
## [1] 0.0913834
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm3C0 <- array(NA,dim = c(n,n,3))
dm3C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm3C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm3C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm3D0 <- new.function(dm3C0)
dm3D0 # 퍼지점수 c(dm3D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 4.0000000 4.3267487 4.3267487
## [2,] 0.2645668 0.2811442 0.3149803
## [3,] 0.7631428 0.8220707 0.9085603
dm3Cw0 <- rowMeans(dm3D0)/sum(rowMeans(dm3D0)) # 평균 가중치
dm3Cw0
## [1] 0.79045021 0.05376645 0.15578334
sum(dm3Cw0)
## [1] 1
dm3C1 <- array(NA,dim = c(n,n,3))
dm3C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm3C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm3C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm3D1 <- new.function(dm3C1)
dm3D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.9085603 1.0000000 1.1006424
## [2,] 3.6342412 3.9790572 4.1601676
## [3,] 0.2403749 0.2513158 0.2751606
dm3Cw1 <- rowMeans(dm3D1)/sum(rowMeans(dm3D1)) # 평균 가중치
dm3Cw1
## [1] 0.19352383 0.75715945 0.04931672
sum(dm3Cw1)
## [1] 1
dm3C2 <- array(NA,dim = c(n,n,3))
dm3C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm3C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm3C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm3D2 <- new.function(dm3C2)
dm3D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 3.6342412 3.9790572 4.160168
## [2,] 1.0000000 1.0873804 1.144714
## [3,] 0.2311204 0.2311204 0.250000
dm3Cw2 <- rowMeans(dm3D2)/sum(rowMeans(dm3D2)) # 평균 가중치
dm3Cw2
## [1] 0.74905298 0.20563274 0.04531428
sum(dm3Cw2)
## [1] 1
dm3C3 <- array(NA,dim = c(n,n,3))
dm3C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm3C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm3C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm3D3 <- new.function(dm3C3)
dm3D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.8844991 3.2710663 3.6342412
## [2,] 0.8735805 1.0000000 1.1447142
## [3,] 0.2751606 0.3057107 0.3466806
dm3Cw3 <- rowMeans(dm3D3)/sum(rowMeans(dm3D3)) # 평균 가중치
dm3Cw3
## [1] 0.71272960 0.21974162 0.06752878
sum(dm3Cw3)
## [1] 1
print(c(dm3Cw0[1]*dm3Cw1, dm3Cw0[2]*dm3Cw2, dm3Cw0[3]*dm3Cw3))  ## dm3 최종 9개 기준의 글로벌 가중치
## [1] 0.152970954 0.598496846 0.038982413 0.040273920 0.011056143 0.002436388
## [7] 0.111031395 0.034232083 0.010519859
dm3wt1 <- c(dm3Cw0[1]*dm3Cw1, dm3Cw0[2]*dm3Cw2, dm3Cw0[3]*dm3Cw3)
sum(dm3wt1)
## [1] 1
dm3wt1
## [1] 0.152970954 0.598496846 0.038982413 0.040273920 0.011056143 0.002436388
## [7] 0.111031395 0.034232083 0.010519859
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm3 <- as.matrix(data_list$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm3)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "9"  "9"  
## [2,] "1/9" "1"  "1/5"
## [3,] "1/9" "5"  "1"  
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1666667
## [3,] 0.1111111    4 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9 9.00
## [2,] 0.125    1 0.25
## [3,] 0.125    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.77164648 0.04841205 0.14151287
## 
## Slot "fnModal":
## [1] 0.79682831 0.05177645 0.15139525
## 
## Slot "fnMax":
## [1] 0.80232771 0.06165589 0.17527184
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 8.0000000
## [2,] 0.1111111    1 0.1666667
## [3,] 0.1111111    4 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    9  9.0
## [2,] 0.1111111    1  0.2
## [3,] 0.1111111    5  1.0
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000    9 9.00
## [2,] 0.125    1 0.25
## [3,] 0.125    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix)
## [1] 0.1473897
list1dm3 <- as.matrix(data_list1$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm3)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "7" 
## [2,] "7"   "1"   "9" 
## [3,] "1/7" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.1703563 0.7290524 0.0445094
## 
## Slot "fnModal":
## [1] 0.19119095 0.76075974 0.04804931
## 
## Slot "fnMax":
## [1] 0.22079601 0.78003707 0.05604768
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix1)
## [1] 0.1638237
list2dm3 <- as.matrix(data_list2$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm3)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "9" 
## [2,] "1/7" "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 8.000    9
## [2,] 0.1666667 1.000    9
## [3,] 0.1250000 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.72404901 0.18516658 0.04255319
## 
## Slot "fnModal":
## [1] 0.75111159 0.20526068 0.04362773
## 
## Slot "fnMax":
## [1] 0.77032402 0.22806115 0.05015162
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 8.000    9
## [2,] 0.1666667 1.000    9
## [3,] 0.1250000 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix2)
## [1] 0.2178446
list3dm3 <- as.matrix(data_list3$dm3)  ## 차례대로 입력하기.. data_list(dm3 -> dm3 -> dm3 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm3)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "5"   "7" 
## [2,] "1/5" "1"   "5" 
## [3,] "1/7" "1/5" "1" 
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.66584826 0.18113546 0.05604768
## 
## Slot "fnModal":
## [1] 0.71470956 0.21849437 0.06679607
## 
## Slot "fnMax":
## [1] 0.75355390 0.26424206 0.08193475
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
consistencyIndex(fuzzyComparisonMatrix3)
## [1] 0.0913834
n <- 3 
dm3C0 <- array(NA,dim = c(n,n,3))
dm3C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm3C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm3C0[,,3] <- fuzzyComparisonMatrix@fnMax

new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}

dm3D0 <- new.function(dm3C0)
dm3D0 # 퍼지점수 c(dm3D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 4.0000000 4.3267487 4.3267487
## [2,] 0.2645668 0.2811442 0.3149803
## [3,] 0.7631428 0.8220707 0.9085603
dm3Cw0 <- rowMeans(dm3D0)/sum(rowMeans(dm3D0)) # 평균 가중치
dm3Cw0
## [1] 0.79045021 0.05376645 0.15578334
sum(dm3Cw0)
## [1] 1
dm3C1 <- array(NA,dim = c(n,n,3))
dm3C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm3C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm3C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm3D1 <- new.function(dm3C1)
dm3D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.9085603 1.0000000 1.1006424
## [2,] 3.6342412 3.9790572 4.1601676
## [3,] 0.2403749 0.2513158 0.2751606
dm3Cw1 <- rowMeans(dm3D1)/sum(rowMeans(dm3D1)) # 평균 가중치
dm3Cw1
## [1] 0.19352383 0.75715945 0.04931672
sum(dm3Cw1)
## [1] 1
dm3C2 <- array(NA,dim = c(n,n,3))
dm3C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm3C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm3C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm3D2 <- new.function(dm3C2)
dm3D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 3.6342412 3.9790572 4.160168
## [2,] 1.0000000 1.0873804 1.144714
## [3,] 0.2311204 0.2311204 0.250000
dm3Cw2 <- rowMeans(dm3D2)/sum(rowMeans(dm3D2)) # 평균 가중치
dm3Cw2
## [1] 0.74905298 0.20563274 0.04531428
sum(dm3Cw2)
## [1] 1
dm3C3 <- array(NA,dim = c(n,n,3))
dm3C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm3C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm3C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm3D3 <- new.function(dm3C3)
dm3D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.8844991 3.2710663 3.6342412
## [2,] 0.8735805 1.0000000 1.1447142
## [3,] 0.2751606 0.3057107 0.3466806
dm3Cw3 <- rowMeans(dm3D3)/sum(rowMeans(dm3D3)) # 평균 가중치
dm3Cw3
## [1] 0.71272960 0.21974162 0.06752878
sum(dm3Cw3)
## [1] 1
print(c(dm3Cw0[1]*dm3Cw1, dm3Cw0[2]*dm3Cw2, dm3Cw0[3]*dm3Cw3))  ## dm3 최종 9개 기준의 글로벌 가중치
## [1] 0.152970954 0.598496846 0.038982413 0.040273920 0.011056143 0.002436388
## [7] 0.111031395 0.034232083 0.010519859
dm3wt1 <- c(dm3Cw0[1]*dm3Cw1, dm3Cw0[2]*dm3Cw2, dm3Cw0[3]*dm3Cw3)
sum(dm3wt1)
## [1] 1
dm3wt1
## [1] 0.152970954 0.598496846 0.038982413 0.040273920 0.011056143 0.002436388
## [7] 0.111031395 0.034232083 0.010519859
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm4 <- as.matrix(data_list$dm4)  ## 차례대로 입력하기.. data_list(dm4 -> dm4 -> dm4 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm4)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "4"   "7" 
## [2,] "1/4" "1"   "5" 
## [3,] "1/7" "1/5" "1" 
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000  4.0    7
## [2,] 0.2500000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 3.0000000    6
## [2,] 0.200 1.0000000    4
## [3,] 0.125 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  4.0    7
## [2,] 0.2500000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 5.00    8
## [2,] 0.3333333 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.62644471 0.19907099 0.05783393
## 
## Slot "fnModal":
## [1] 0.68708616 0.24374097 0.06917288
## 
## Slot "fnMax":
## [1] 0.73338379 0.30116321 0.08522005
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 3.0000000    6
## [2,] 0.200 1.0000000    4
## [3,] 0.125 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  4.0    7
## [2,] 0.2500000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 5.00    8
## [2,] 0.3333333 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm4 <- as.matrix(data_list1$dm4)  ## 차례대로 입력하기.. data_list(dm4 -> dm4 -> dm4 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm4)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3] 
## [1,] "1"  "1/7" "1/3"
## [2,] "7"  "1"   "6"  
## [3,] "3"  "1/6" "1"  
## 
## Slot "values":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1428571 0.3333333
## [2,]    7 1.0000000 6.0000000
## [3,]    3 0.1666667 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]    1 0.1250000 0.25
## [2,]    6 1.0000000 5.00
## [3,]    2 0.1428571 1.00
## 
## Slot "fnModal":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1428571 0.3333333
## [2,]    7 1.0000000 6.0000000
## [3,]    3 0.1666667 1.0000000
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.1666667  0.5
## [2,]    8 1.0000000  7.0
## [3,]    4 0.2000000  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.06336778 0.70905267 0.13492871
## 
## Slot "fnModal":
## [1] 0.07824816 0.75040719 0.17134465
## 
## Slot "fnMax":
## [1] 0.1020340 0.7837719 0.2118368
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]    1 0.1250000 0.25
## [2,]    6 1.0000000 5.00
## [3,]    2 0.1428571 1.00
## 
## Slot "fnModal":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1428571 0.3333333
## [2,]    7 1.0000000 6.0000000
## [3,]    3 0.1666667 1.0000000
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.1666667  0.5
## [2,]    8 1.0000000  7.0
## [3,]    4 0.2000000  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm4 <- as.matrix(data_list2$dm4)  ## 차례대로 입력하기.. data_list(dm4 -> dm4 -> dm4 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm4)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "6"   "9" 
## [2,] "1/6" "1"   "6" 
## [3,] "1/9" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    9
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    8
## [2,] 0.1428571 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    9
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000  7.0    9
## [2,] 0.200  1.0    7
## [3,] 0.125  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.71248704 0.17343526 0.04804931
## 
## Slot "fnModal":
## [1] 0.74930926 0.19824238 0.05244836
## 
## Slot "fnMax":
## [1] 0.77201711 0.23305923 0.06205005
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    8
## [2,] 0.1428571 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    9
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000  7.0    9
## [2,] 0.200  1.0    7
## [3,] 0.125  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm4 <- as.matrix(data_list3$dm4)  ## 차례대로 입력하기.. data_list(dm4 -> dm4 -> dm4 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm4)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "4"   "8" 
## [2,] "1/4" "1"   "4" 
## [3,] "1/8" "1/4" "1" 
## 
## Slot "values":
##       [,1] [,2] [,3]
## [1,] 1.000 4.00    8
## [2,] 0.250 1.00    4
## [3,] 0.125 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000  3.0    7
## [2,] 0.2000000  1.0    3
## [3,] 0.1111111  0.2    1
## 
## Slot "fnModal":
##       [,1] [,2] [,3]
## [1,] 1.000 4.00    8
## [2,] 0.250 1.00    4
## [3,] 0.125 0.25    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    9
## [2,] 0.3333333 1.0000000    5
## [3,] 0.1428571 0.3333333    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.64911800 0.17817773 0.05811121
## 
## Slot "fnModal":
## [1] 0.70711715 0.22272795 0.07015491
## 
## Slot "fnMax":
## [1] 0.75140459 0.27895457 0.08794621
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000  3.0    7
## [2,] 0.2000000  1.0    3
## [3,] 0.1111111  0.2    1
## 
## Slot "fnModal":
##       [,1] [,2] [,3]
## [1,] 1.000 4.00    8
## [2,] 0.250 1.00    4
## [3,] 0.125 0.25    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    9
## [2,] 0.3333333 1.0000000    5
## [3,] 0.1428571 0.3333333    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm4C0 <- array(NA,dim = c(n,n,3))
dm4C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm4C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm4C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm4D0 <- new.function(dm4C0)
dm4D0 # 퍼지점수 c(dm4D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.6207414 3.0365890 3.4199519
## [2,] 0.9283178 1.0772173 1.2599210
## [3,] 0.2751606 0.3057107 0.3466806
dm4Cw0 <- rowMeans(dm4D0)/sum(rowMeans(dm4D0)) # 평균 가중치
dm4Cw0
## [1] 0.68403042 0.24607270 0.06989688
sum(dm4Cw0)
## [1] 1
dm4C1 <- array(NA,dim = c(n,n,3))
dm4C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm4C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm4C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm4D1 <- new.function(dm4C1)
dm4D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.3149803 0.3624601 0.4367902
## [2,] 3.1072325 3.4760266 3.8258624
## [3,] 0.6586338 0.7937005 0.9283178
dm4Cw1 <- rowMeans(dm4D1)/sum(rowMeans(dm4D1)) # 평균 가중치
dm4Cw1
## [1] 0.08013739 0.74864200 0.17122061
sum(dm4Cw1)
## [1] 1
dm4C2 <- array(NA,dim = c(n,n,3))
dm4C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm4C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm4C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm4D2 <- new.function(dm4C2)
dm4D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.4199519 3.7797631 3.9790572
## [2,] 0.8939035 1.0000000 1.1186889
## [3,] 0.2513158 0.2645668 0.2924018
dm4Cw2 <- rowMeans(dm4D2)/sum(rowMeans(dm4D2)) # 평균 가중치
dm4Cw2
## [1] 0.74526891 0.20084420 0.05388689
sum(dm4Cw2)
## [1] 1
dm4C3 <- array(NA,dim = c(n,n,3))
dm4C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm4C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm4C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm4D3 <- new.function(dm4C3)
dm4D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.7589242 3.1748021 3.5568933
## [2,] 0.8434327 1.0000000 1.1856311
## [3,] 0.2811442 0.3149803 0.3624601
dm4Cw3 <- rowMeans(dm4D3)/sum(rowMeans(dm4D3)) # 평균 가중치
dm4Cw3
## [1] 0.70414237 0.22473687 0.07112076
sum(dm4Cw3)
## [1] 1
print(c(dm4Cw0[1]*dm4Cw1, dm4Cw0[2]*dm4Cw2, dm4Cw0[3]*dm4Cw3))  ## dm4 최종 9개 기준의 글로벌 가중치
## [1] 0.054816413 0.512093900 0.117120104 0.183390333 0.049422273 0.013260092
## [7] 0.049217358 0.015708407 0.004971119
dm4wt1 <- c(dm4Cw0[1]*dm4Cw1, dm4Cw0[2]*dm4Cw2, dm4Cw0[3]*dm4Cw3)
sum(dm4wt1)
## [1] 1
dm4wt1
## [1] 0.054816413 0.512093900 0.117120104 0.183390333 0.049422273 0.013260092
## [7] 0.049217358 0.015708407 0.004971119
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm5 <- as.matrix(data_list$dm5)  ## 차례대로 입력하기.. data_list(dm5 -> dm5 -> dm5 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm5)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "8"  "1"  
## [2,] "1/8" "1"  "1/4"
## [3,] "1"   "4"  "1"  
## 
## Slot "values":
##       [,1] [,2] [,3]
## [1,] 1.000    8 1.00
## [2,] 0.125    1 0.25
## [3,] 1.000    4 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  0.5
## [2,] 0.1111111    1  0.2
## [3,] 0.5000000    3  1.0
## 
## Slot "fnModal":
##       [,1] [,2] [,3]
## [1,] 1.000    8 1.00
## [2,] 0.125    1 0.25
## [3,] 1.000    4 1.00
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 2.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 2.0000000    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.38163062 0.06601033 0.27928109
## 
## Slot "fnModal":
## [1] 0.51250758 0.08071489 0.40677754
## 
## Slot "fnMax":
## [1] 0.63939408 0.09801848 0.54152752
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  0.5
## [2,] 0.1111111    1  0.2
## [3,] 0.5000000    3  1.0
## 
## Slot "fnModal":
##       [,1] [,2] [,3]
## [1,] 1.000    8 1.00
## [2,] 0.125    1 0.25
## [3,] 1.000    4 1.00
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 2.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 2.0000000    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm5 <- as.matrix(data_list1$dm5)  ## 차례대로 입력하기.. data_list(dm5 -> dm5 -> dm5 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm5)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "3"  "1"  
## [2,] "1/3" "1"  "1/2"
## [3,] "1"   "2"  "1"  
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000    3  1.0
## [2,] 0.3333333    1  0.5
## [3,] 1.0000000    2  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2]      [,3]
## [1,] 1.00    2 0.5000000
## [2,] 0.25    1 0.3333333
## [3,] 0.50    1 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    3  1.0
## [2,] 0.3333333    1  0.5
## [3,] 1.0000000    2  1.0
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0    4    2
## [2,]  0.5    1    1
## [3,]  2.0    3    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.2969613 0.1219572 0.2318280
## 
## Slot "fnModal":
## [1] 0.4434291 0.1691999 0.3873710
## 
## Slot "fnMax":
## [1] 0.5841700 0.2599210 0.5396146
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2]      [,3]
## [1,] 1.00    2 0.5000000
## [2,] 0.25    1 0.3333333
## [3,] 0.50    1 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    3  1.0
## [2,] 0.3333333    1  0.5
## [3,] 1.0000000    2  1.0
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0    4    2
## [2,]  0.5    1    1
## [3,]  2.0    3    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm5 <- as.matrix(data_list2$dm5)  ## 차례대로 입력하기.. data_list(dm5 -> dm5 -> dm5 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm5)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1"   "2" 
## [2,] "1"   "1"   "2" 
## [3,] "1/2" "1/2" "1" 
## 
## Slot "values":
##      [,1] [,2] [,3]
## [1,]  1.0  1.0    2
## [2,]  1.0  1.0    2
## [3,]  0.5  0.5    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.5000000    1
## [2,] 0.5000000 1.0000000    1
## [3,] 0.3333333 0.3333333    1
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0  1.0    2
## [2,]  1.0  1.0    2
## [3,]  0.5  0.5    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    2    1    3
## [3,]    1    1    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.2402109 0.2402109 0.1396479
## 
## Slot "fnModal":
## [1] 0.4 0.4 0.2
## 
## Slot "fnMax":
## [1] 0.5499456 0.5499456 0.3274800
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.5000000    1
## [2,] 0.5000000 1.0000000    1
## [3,] 0.3333333 0.3333333    1
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0  1.0    2
## [2,]  1.0  1.0    2
## [3,]  0.5  0.5    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    2    1    3
## [3,]    1    1    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm5 <- as.matrix(data_list3$dm5)  ## 차례대로 입력하기.. data_list(dm5 -> dm5 -> dm5 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm5)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3]
## [1,] "1"  "1/6" "1" 
## [2,] "6"  "1"   "5" 
## [3,] "1"  "1/5" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,]    1 0.1666667    1
## [2,]    6 1.0000000    5
## [3,]    1 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1428571  0.5
## [2,]  5.0 1.0000000  4.0
## [3,]  0.5 0.1666667  1.0
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]    1 0.1666667    1
## [2,]    6 1.0000000    5
## [3,]    1 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.20    2
## [2,]    7 1.00    6
## [3,]    2 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.09050742 0.68334046 0.09554740
## 
## Slot "fnModal":
## [1] 0.1297206 0.7324307 0.1378487
## 
## Slot "fnMax":
## [1] 0.1864755 0.7603772 0.1998100
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1428571  0.5
## [2,]  5.0 1.0000000  4.0
## [3,]  0.5 0.1666667  1.0
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]    1 0.1666667    1
## [2,]    6 1.0000000    5
## [3,]    1 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.20    2
## [2,]    7 1.00    6
## [3,]    2 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm5C0 <- array(NA,dim = c(n,n,3))
dm5C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm5C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm5C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm5D0 <- new.function(dm5C0)
dm5D0 # 퍼지점수 c(dm5D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 1.5182945 2.0000000 2.6207414
## [2,] 0.2811442 0.3149803 0.3624601
## [3,] 1.1447142 1.5874011 2.1544347
dm5Cw0 <- rowMeans(dm5D0)/sum(rowMeans(dm5D0)) # 평균 가중치
dm5Cw0
## [1] 0.51226206 0.07998756 0.40775037
sum(dm5Cw0)
## [1] 1
dm5C1 <- array(NA,dim = c(n,n,3))
dm5C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm5C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm5C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm5D1 <- new.function(dm5C1)
dm5D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 1.0000000 1.4422496 2.0000000
## [2,] 0.4367902 0.5503212 0.7937005
## [3,] 0.7937005 1.2599210 1.8171206
dm5Cw1 <- rowMeans(dm5D1)/sum(rowMeans(dm5D1)) # 평균 가중치
dm5Cw1
## [1] 0.4400967 0.1764263 0.3834771
sum(dm5Cw1)
## [1] 1
dm5C2 <- array(NA,dim = c(n,n,3))
dm5C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm5C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm5C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm5D2 <- new.function(dm5C2)
dm5D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.7937005 1.2599210 1.817121
## [2,] 0.7937005 1.2599210 1.817121
## [3,] 0.4807499 0.6299605 1.000000
dm5Cw2 <- rowMeans(dm5D2)/sum(rowMeans(dm5D2)) # 평균 가중치
dm5Cw2
## [1] 0.3928812 0.3928812 0.2142376
sum(dm5Cw2)
## [1] 1
dm5C3 <- array(NA,dim = c(n,n,3))
dm5C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm5C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm5C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm5D3 <- new.function(dm5C3)
dm5D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.4149133 0.5503212 0.7368063
## [2,] 2.7144176 3.1072325 3.4760266
## [3,] 0.4367902 0.5848035 0.7937005
dm5Cw3 <- rowMeans(dm5D3)/sum(rowMeans(dm5D3)) # 평균 가중치
dm5Cw3
## [1] 0.1328162 0.7255301 0.1416537
sum(dm5Cw3)
## [1] 1
print(c(dm5Cw0[1]*dm5Cw1, dm5Cw0[2]*dm5Cw2, dm5Cw0[3]*dm5Cw3))  ## dm5 최종 9개 기준의 글로벌 가중치
## [1] 0.22544484 0.09037648 0.19644075 0.03142561 0.03142561 0.01713634 0.05415584
## [8] 0.29583517 0.05775936
dm5wt1 <- c(dm5Cw0[1]*dm5Cw1, dm5Cw0[2]*dm5Cw2, dm5Cw0[3]*dm5Cw3)
sum(dm5wt1)
## [1] 1
dm5wt1
## [1] 0.22544484 0.09037648 0.19644075 0.03142561 0.03142561 0.01713634 0.05415584
## [8] 0.29583517 0.05775936
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm6 <- as.matrix(data_list$dm6)  ## 차례대로 입력하기.. data_list(dm6 -> dm6 -> dm6 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm6)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "8"  "5"  
## [2,] "1/8" "1"  "1/7"
## [3,] "1/5" "7"  "1"  
## 
## Slot "values":
##       [,1] [,2]      [,3]
## [1,] 1.000    8 5.0000000
## [2,] 0.125    1 0.1428571
## [3,] 0.200    7 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]  [,3]
## [1,] 1.0000000    7 4.000
## [2,] 0.1111111    1 0.125
## [3,] 0.1666667    6 1.000
## 
## Slot "fnModal":
##       [,1] [,2]      [,3]
## [1,] 1.000    8 5.0000000
## [2,] 0.125    1 0.1428571
## [3,] 0.200    7 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 6.0000000
## [2,] 0.1428571    1 0.1666667
## [3,] 0.2500000    8 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.66622706 0.04694107 0.19824238
## 
## Slot "fnModal":
## [1] 0.71248704 0.05445373 0.23305923
## 
## Slot "fnMax":
## [1] 0.74930926 0.06437359 0.27642644
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]  [,3]
## [1,] 1.0000000    7 4.000
## [2,] 0.1111111    1 0.125
## [3,] 0.1666667    6 1.000
## 
## Slot "fnModal":
##       [,1] [,2]      [,3]
## [1,] 1.000    8 5.0000000
## [2,] 0.125    1 0.1428571
## [3,] 0.200    7 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 6.0000000
## [2,] 0.1428571    1 0.1666667
## [3,] 0.2500000    8 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm6 <- as.matrix(data_list1$dm6)  ## 차례대로 입력하기.. data_list(dm6 -> dm6 -> dm6 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm6)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "3" 
## [2,] "7"   "1"   "8" 
## [3,] "1/3" "1/8" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    8
## [3,] 0.3333333 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    2
## [2,] 6.00 1.0000000    7
## [3,] 0.25 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    8
## [3,] 0.3333333 0.1250000    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    4
## [2,]  8.0 1.0000000    9
## [3,]  0.5 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.12180919 0.74291154 0.05761261
## 
## Slot "fnModal":
## [1] 0.15303946 0.77658983 0.07037071
## 
## Slot "fnMax":
## [1] 0.18670542 0.80441015 0.09050742
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    2
## [2,] 6.00 1.0000000    7
## [3,] 0.25 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    8
## [3,] 0.3333333 0.1250000    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    4
## [2,]  8.0 1.0000000    9
## [3,]  0.5 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm6 <- as.matrix(data_list2$dm6)  ## 차례대로 입력하기.. data_list(dm6 -> dm6 -> dm6 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm6)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/3" "2" 
## [2,] "3"   "1"   "5" 
## [3,] "1/2" "1/5" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2500000    1
## [2,] 2.0000000 1.0000000    4
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.50    3
## [2,]    4 1.00    6
## [3,]    1 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.15498019 0.55842454 0.09140243
## 
## Slot "fnModal":
## [1] 0.2296508 0.6483290 0.1220202
## 
## Slot "fnMax":
## [1] 0.3196183 0.7096321 0.1840020
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2500000    1
## [2,] 2.0000000 1.0000000    4
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.50    3
## [2,]    4 1.00    6
## [3,]    1 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm6 <- as.matrix(data_list3$dm6)  ## 차례대로 입력하기.. data_list(dm6 -> dm6 -> dm6 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm6)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3]
## [1,] "1"   "5"  "5" 
## [2,] "1/5" "1"  "1" 
## [3,] "1/5" "1"  "1" 
## 
## Slot "values":
##      [,1] [,2] [,3]
## [1,]  1.0    5    5
## [2,]  0.2    1    1
## [3,]  0.2    1    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000  4.0  4.0
## [2,] 0.1666667  1.0  0.5
## [3,] 0.1666667  0.5  1.0
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0    5    5
## [2,]  0.2    1    1
## [3,]  0.2    1    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,] 1.00    6    6
## [2,] 0.25    1    2
## [3,] 0.25    2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.6607615 0.0985520 0.0985520
## 
## Slot "fnModal":
## [1] 0.7142857 0.1428571 0.1428571
## 
## Slot "fnMax":
## [1] 0.7450064 0.2081268 0.2081268
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000  4.0  4.0
## [2,] 0.1666667  1.0  0.5
## [3,] 0.1666667  0.5  1.0
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0    5    5
## [2,]  0.2    1    1
## [3,]  0.2    1    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,] 1.00    6    6
## [2,] 0.25    1    2
## [3,] 0.25    2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm6C0 <- array(NA,dim = c(n,n,3))
dm6C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm6C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm6C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm6D0 <- new.function(dm6C0)
dm6D0 # 퍼지점수 c(dm6D1)으로 백터화
##           [,1]     [,2]      [,3]
## [1,] 3.0365890 3.419952 3.7797631
## [2,] 0.2403749 0.261379 0.2876848
## [3,] 1.0000000 1.118689 1.2599210
dm6Cw0 <- rowMeans(dm6D0)/sum(rowMeans(dm6D0)) # 평균 가중치
dm6Cw0
## [1] 0.71063964 0.05480557 0.23455479
sum(dm6Cw0)
## [1] 1
dm6C1 <- array(NA,dim = c(n,n,3))
dm6C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm6C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm6C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm6D1 <- new.function(dm6C1)
dm6D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6299605 0.7539474 0.8735805
## [2,] 3.4760266 3.8258624 4.1601676
## [3,] 0.3028534 0.3466806 0.4149133
dm6Cw1 <- rowMeans(dm6D1)/sum(rowMeans(dm6D1)) # 평균 가중치
dm6Cw1
## [1] 0.15269816 0.77530185 0.07199999
sum(dm6Cw1)
## [1] 1
dm6C2 <- array(NA,dim = c(n,n,3))
dm6C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm6C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm6C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm6D2 <- new.function(dm6C2)
dm6D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6299605 0.8735805 1.1447142
## [2,] 2.0000000 2.4662121 2.8844991
## [3,] 0.3815714 0.4641589 0.6299605
dm6Cw2 <- rowMeans(dm6D2)/sum(rowMeans(dm6D2)) # 평균 가중치
dm6Cw2
## [1] 0.2307917 0.6406040 0.1286043
sum(dm6Cw2)
## [1] 1
dm6C3 <- array(NA,dim = c(n,n,3))
dm6C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm6C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm6C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm6D3 <- new.function(dm6C3)
dm6D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.5198421 2.9240177 3.3019272
## [2,] 0.4367902 0.5848035 0.7937005
## [3,] 0.4367902 0.5848035 0.7937005
dm6Cw3 <- rowMeans(dm6D3)/sum(rowMeans(dm6D3)) # 평균 가중치
dm6Cw3
## [1] 0.7066517 0.1466741 0.1466741
sum(dm6Cw3)
## [1] 1
print(c(dm6Cw0[1]*dm6Cw1, dm6Cw0[2]*dm6Cw2, dm6Cw0[3]*dm6Cw3))  ## dm6 최종 9개 기준의 글로벌 가중치
## [1] 0.108513365 0.550960226 0.051166048 0.012648668 0.035108664 0.007048234
## [7] 0.165748547 0.034403124 0.034403124
dm6wt1 <- c(dm6Cw0[1]*dm6Cw1, dm6Cw0[2]*dm6Cw2, dm6Cw0[3]*dm6Cw3)
sum(dm6wt1)
## [1] 1
dm6wt1
## [1] 0.108513365 0.550960226 0.051166048 0.012648668 0.035108664 0.007048234
## [7] 0.165748547 0.034403124 0.034403124
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm7 <- as.matrix(data_list$dm7)  ## 차례대로 입력하기.. data_list(dm7 -> dm7 -> dm7 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm7)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "6"  "8"  
## [2,] "1/6" "1"  "1/3"
## [3,] "1/8" "3"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 8.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.1250000    3 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    5 7.00
## [2,] 0.1428571    1 0.25
## [3,] 0.1111111    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 8.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.1250000    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  9.0
## [2,] 0.2000000    1  0.5
## [3,] 0.1428571    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.73189744 0.06493459 0.12114919
## 
## Slot "fnModal":
## [1] 0.76721326 0.08055234 0.15223439
## 
## Slot "fnMax":
## [1] 0.7958628 0.1056381 0.1856728
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    5 7.00
## [2,] 0.1428571    1 0.25
## [3,] 0.1111111    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 8.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.1250000    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  9.0
## [2,] 0.2000000    1  0.5
## [3,] 0.1428571    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm7 <- as.matrix(data_list1$dm7)  ## 차례대로 입력하기.. data_list(dm7 -> dm7 -> dm7 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm7)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "5"   "7" 
## [2,] "1/5" "1"   "5" 
## [3,] "1/7" "1/5" "1" 
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.66584826 0.18113546 0.05604768
## 
## Slot "fnModal":
## [1] 0.71470956 0.21849437 0.06679607
## 
## Slot "fnMax":
## [1] 0.75355390 0.26424206 0.08193475
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    6
## [2,] 0.1666667 1.0000000    4
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000  5.0    7
## [2,] 0.2000000  1.0    5
## [3,] 0.1428571  0.2    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 6.00    8
## [2,] 0.2500000 1.00    6
## [3,] 0.1666667 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm7 <- as.matrix(data_list2$dm7)  ## 차례대로 입력하기.. data_list(dm7 -> dm7 -> dm7 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm7)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "7"  "5"  
## [2,] "1/7" "1"  "1/3"
## [3,] "1/5" "3"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 5.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.2000000    3 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    6 4.00
## [2,] 0.1250000    1 0.25
## [3,] 0.1666667    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 5.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.2000000    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  6.0
## [2,] 0.1666667    1  0.5
## [3,] 0.2500000    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.68172455 0.06531064 0.14676013
## 
## Slot "fnModal":
## [1] 0.73064467 0.08096123 0.18839410
## 
## Slot "fnMax":
## [1] 0.7692407 0.1061461 0.2363407
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    6 4.00
## [2,] 0.1250000    1 0.25
## [3,] 0.1666667    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 5.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.2000000    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  6.0
## [2,] 0.1666667    1  0.5
## [3,] 0.2500000    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm7 <- as.matrix(data_list3$dm7)  ## 차례대로 입력하기.. data_list(dm7 -> dm7 -> dm7 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm7)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3] 
## [1,] "1"  "1/3" "1/8"
## [2,] "3"  "1"   "1/5"
## [3,] "8"  "5"   "1"  
## 
## Slot "values":
##      [,1]      [,2]  [,3]
## [1,]    1 0.3333333 0.125
## [2,]    3 1.0000000 0.200
## [3,]    8 5.0000000 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2]      [,3]
## [1,]    1 0.25 0.1111111
## [2,]    2 1.00 0.1666667
## [3,]    7 4.00 1.0000000
## 
## Slot "fnModal":
##      [,1]      [,2]  [,3]
## [1,]    1 0.3333333 0.125
## [2,]    3 1.0000000 0.200
## [3,]    8 5.0000000 1.000
## 
## Slot "fnMax":
##      [,1] [,2]      [,3]
## [1,]    1  0.5 0.1428571
## [2,]    4  1.0 0.2500000
## [3,]    9  6.0 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.06110601 0.14282280 0.69552324
## 
## Slot "fnModal":
## [1] 0.07520081 0.18295461 0.74184458
## 
## Slot "fnMax":
## [1] 0.09773697 0.22904754 0.77857878
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2]      [,3]
## [1,]    1 0.25 0.1111111
## [2,]    2 1.00 0.1666667
## [3,]    7 4.00 1.0000000
## 
## Slot "fnModal":
##      [,1]      [,2]  [,3]
## [1,]    1 0.3333333 0.125
## [2,]    3 1.0000000 0.200
## [3,]    8 5.0000000 1.000
## 
## Slot "fnMax":
##      [,1] [,2]      [,3]
## [1,]    1  0.5 0.1428571
## [2,]    4  1.0 0.2500000
## [3,]    9  6.0 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm7C0 <- array(NA,dim = c(n,n,3))
dm7C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm7C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm7C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm7D0 <- new.function(dm7C0)
dm7D0 # 퍼지점수 c(dm7D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.2710663 3.6342412 3.9790572
## [2,] 0.3293169 0.3815714 0.4641589
## [3,] 0.6057069 0.7211248 0.8298265
dm7Cw0 <- rowMeans(dm7D0)/sum(rowMeans(dm7D0)) # 평균 가중치
dm7Cw0
## [1] 0.76563809 0.08265626 0.15170565
sum(dm7Cw0)
## [1] 1
dm7C1 <- array(NA,dim = c(n,n,3))
dm7C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm7C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm7C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm7D1 <- new.function(dm7C1)
dm7D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.8844991 3.2710663 3.6342412
## [2,] 0.8735805 1.0000000 1.1447142
## [3,] 0.2751606 0.3057107 0.3466806
dm7Cw1 <- rowMeans(dm7D1)/sum(rowMeans(dm7D1)) # 평균 가중치
dm7Cw1
## [1] 0.71272960 0.21974162 0.06752878
sum(dm7Cw1)
## [1] 1
dm7C2 <- array(NA,dim = c(n,n,3))
dm7C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm7C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm7C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm7D2 <- new.function(dm7C2)
dm7D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.8844991 3.2710663 3.6342412
## [2,] 0.3149803 0.3624601 0.4367902
## [3,] 0.6933613 0.8434327 1.0000000
dm7Cw2 <- rowMeans(dm7D2)/sum(rowMeans(dm7D2)) # 평균 가중치
dm7Cw2
## [1] 0.72836319 0.08289894 0.18873788
sum(dm7Cw2)
## [1] 1
dm7C3 <- array(NA,dim = c(n,n,3))
dm7C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm7C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm7C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm7D3 <- new.function(dm7C3)
dm7D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.3028534 0.3466806 0.4149133
## [2,] 0.6933613 0.8434327 1.0000000
## [3,] 3.0365890 3.4199519 3.7797631
dm7Cw3 <- rowMeans(dm7D3)/sum(rowMeans(dm7D3)) # 평균 가중치
dm7Cw3
## [1] 0.07692458 0.18332688 0.73974855
sum(dm7Cw3)
## [1] 1
print(c(dm7Cw0[1]*dm7Cw1, dm7Cw0[2]*dm7Cw2, dm7Cw0[3]*dm7Cw3))  ## dm7 최종 9개 기준의 글로벌 가중치
## [1] 0.545692926 0.168242554 0.051702608 0.060203777 0.006852116 0.015600367
## [7] 0.011669893 0.027811723 0.112224036
dm7wt1 <- c(dm7Cw0[1]*dm7Cw1, dm7Cw0[2]*dm7Cw2, dm7Cw0[3]*dm7Cw3)
sum(dm7wt1)
## [1] 1
dm7wt1
## [1] 0.545692926 0.168242554 0.051702608 0.060203777 0.006852116 0.015600367
## [7] 0.011669893 0.027811723 0.112224036
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm8 <- as.matrix(data_list$dm8)  ## 차례대로 입력하기.. data_list(dm8 -> dm8 -> dm8 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm8)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "6"  "1/3"
## [2,] "1/6" "1"  "1/9"
## [3,] "3"   "9"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 0.3333333
## [2,] 0.1666667    1 0.1111111
## [3,] 3.0000000    9 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    5 0.2500000
## [2,] 0.1428571    1 0.1111111
## [3,] 2.0000000    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 0.3333333
## [2,] 0.1666667    1 0.1111111
## [3,] 3.0000000    9 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2]  [,3]
## [1,]  1.0    7 0.500
## [2,]  0.2    1 0.125
## [3,]  4.0    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.23114819 0.05281615 0.58607582
## 
## Slot "fnModal":
## [1] 0.27846711 0.05847443 0.66305847
## 
## Slot "fnMax":
## [1] 0.35313152 0.07012953 0.70852417
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    5 0.2500000
## [2,] 0.1428571    1 0.1111111
## [3,] 2.0000000    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 0.3333333
## [2,] 0.1666667    1 0.1111111
## [3,] 3.0000000    9 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2]  [,3]
## [1,]  1.0    7 0.500
## [2,]  0.2    1 0.125
## [3,]  4.0    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm8 <- as.matrix(data_list1$dm8)  ## 차례대로 입력하기.. data_list(dm8 -> dm8 -> dm8 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm8)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3] 
## [1,] "1"  "1/6" "1/3"
## [2,] "6"  "1"   "3"  
## [3,] "3"  "1/3" "1"  
## 
## Slot "values":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1666667 0.3333333
## [2,]    6 1.0000000 3.0000000
## [3,]    3 0.3333333 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]    1 0.1428571 0.25
## [2,]    5 1.0000000 2.00
## [3,]    2 0.2500000 1.00
## 
## Slot "fnModal":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1666667 0.3333333
## [2,]    6 1.0000000 3.0000000
## [3,]    3 0.3333333 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1  0.2  0.5
## [2,]    7  1.0  4.0
## [3,]    4  0.5  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.07542922 0.56954058 0.18696410
## 
## Slot "fnModal":
## [1] 0.09533773 0.65480674 0.24985553
## 
## Slot "fnMax":
## [1] 0.1282705 0.7152989 0.3330694
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]    1 0.1428571 0.25
## [2,]    5 1.0000000 2.00
## [3,]    2 0.2500000 1.00
## 
## Slot "fnModal":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1666667 0.3333333
## [2,]    6 1.0000000 3.0000000
## [3,]    3 0.3333333 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1  0.2  0.5
## [2,]    7  1.0  4.0
## [3,]    4  0.5  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm8 <- as.matrix(data_list2$dm8)  ## 차례대로 입력하기.. data_list(dm8 -> dm8 -> dm8 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm8)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "3" 
## [2,] "7"   "1"   "6" 
## [3,] "1/3" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    6
## [3,] 0.3333333 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    2
## [2,] 6.00 1.0000000    5
## [3,] 0.25 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    6
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    4
## [2,]  8.0 1.0000000    7
## [3,]  0.5 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.12933579 0.71443507 0.06654372
## 
## Slot "fnModal":
## [1] 0.16349127 0.75376610 0.08274263
## 
## Slot "fnMax":
## [1] 0.2008593 0.7854793 0.1088361
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    2
## [2,] 6.00 1.0000000    5
## [3,] 0.25 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    3
## [2,] 7.0000000 1.0000000    6
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    4
## [2,]  8.0 1.0000000    7
## [3,]  0.5 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm8 <- as.matrix(data_list3$dm8)  ## 차례대로 입력하기.. data_list(dm8 -> dm8 -> dm8 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm8)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "6"  "3"  
## [2,] "1/6" "1"  "1/3"
## [3,] "1/3" "3"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 3.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.3333333    3 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    5 2.00
## [2,] 0.1428571    1 0.25
## [3,] 0.2500000    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 3.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.3333333    3 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0    7  4.0
## [2,]  0.2    1  0.5
## [3,]  0.5    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.56954058 0.07542922 0.18696410
## 
## Slot "fnModal":
## [1] 0.65480674 0.09533773 0.24985553
## 
## Slot "fnMax":
## [1] 0.7152989 0.1282705 0.3330694
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    5 2.00
## [2,] 0.1428571    1 0.25
## [3,] 0.2500000    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 3.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.3333333    3 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0    7  4.0
## [2,]  0.2    1  0.5
## [3,]  0.5    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm8C0 <- array(NA,dim = c(n,n,3))
dm8C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm8C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm8C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm8D0 <- new.function(dm8C0)
dm8D0 # 퍼지점수 c(dm8D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 1.0772173 1.2599210 1.5182945
## [2,] 0.2513158 0.2645668 0.2924018
## [3,] 2.5198421 3.0000000 3.3019272
dm8Cw0 <- rowMeans(dm8D0)/sum(rowMeans(dm8D0)) # 평균 가중치
dm8Cw0
## [1] 0.28589498 0.05993736 0.65416767
sum(dm8Cw0)
## [1] 1
dm8C1 <- array(NA,dim = c(n,n,3))
dm8C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm8C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm8C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm8D1 <- new.function(dm8C1)
dm8D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.3293169 0.3815714 0.4641589
## [2,] 2.1544347 2.6207414 3.0365890
## [3,] 0.7937005 1.0000000 1.2599210
dm8Cw1 <- rowMeans(dm8D1)/sum(rowMeans(dm8D1)) # 평균 가중치
dm8Cw1
## [1] 0.09759176 0.64879432 0.25361392
sum(dm8Cw1)
## [1] 1
dm8C2 <- array(NA,dim = c(n,n,3))
dm8C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm8C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm8C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm8D2 <- new.function(dm8C2)
dm8D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6299605 0.7539474 0.8735805
## [2,] 3.1072325 3.4760266 3.8258624
## [3,] 0.3293169 0.3815714 0.4641589
dm8Cw2 <- rowMeans(dm8D2)/sum(rowMeans(dm8D2)) # 평균 가중치
dm8Cw2
## [1] 0.16309380 0.75201411 0.08489209
sum(dm8Cw2)
## [1] 1
dm8C3 <- array(NA,dim = c(n,n,3))
dm8C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm8C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm8C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm8D3 <- new.function(dm8C3)
dm8D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.1544347 2.6207414 3.0365890
## [2,] 0.3293169 0.3815714 0.4641589
## [3,] 0.7937005 1.0000000 1.2599210
dm8Cw3 <- rowMeans(dm8D3)/sum(rowMeans(dm8D3)) # 평균 가중치
dm8Cw3
## [1] 0.64879432 0.09759176 0.25361392
sum(dm8Cw3)
## [1] 1
print(c(dm8Cw0[1]*dm8Cw1, dm8Cw0[2]*dm8Cw2, dm8Cw0[3]*dm8Cw3))  ## dm8 최종 9개 기준의 글로벌 가중치
## [1] 0.027900995 0.185487036 0.072506945 0.009775411 0.045073738 0.005088207
## [7] 0.424420266 0.063841377 0.165906024
dm8wt1 <- c(dm8Cw0[1]*dm8Cw1, dm8Cw0[2]*dm8Cw2, dm8Cw0[3]*dm8Cw3)
sum(dm8wt1)
## [1] 1
dm8wt1
## [1] 0.027900995 0.185487036 0.072506945 0.009775411 0.045073738 0.005088207
## [7] 0.424420266 0.063841377 0.165906024
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm9 <- as.matrix(data_list$dm9)  ## 차례대로 입력하기.. data_list(dm9 -> dm9 -> dm9 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm9)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "5"   "9" 
## [2,] "1/5" "1"   "6" 
## [3,] "1/9" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    9
## [2,] 0.2000000 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    8
## [2,] 0.1666667 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    9
## [2,] 0.2000000 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000  6.0    9
## [2,] 0.250  1.0    7
## [3,] 0.125  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.68403999 0.18813408 0.04943458
## 
## Slot "fnModal":
## [1] 0.7282569 0.2175743 0.0541688
## 
## Slot "fnMax":
## [1] 0.75565892 0.25964354 0.06434302
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 4.0000000    8
## [2,] 0.1666667 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    9
## [2,] 0.2000000 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##       [,1] [,2] [,3]
## [1,] 1.000  6.0    9
## [2,] 0.250  1.0    7
## [3,] 0.125  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm9 <- as.matrix(data_list1$dm9)  ## 차례대로 입력하기.. data_list(dm9 -> dm9 -> dm9 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm9)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "6" 
## [2,] "7"   "1"   "9" 
## [3,] "1/6" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    6
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1666667 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1250000    5
## [2,] 6.0000000 1.0000000    8
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    6
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1666667 0.1111111    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    7
## [2,]  8.0 1.0000000    9
## [3,]  0.2 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.16143119 0.73443543 0.04681785
## 
## Slot "fnModal":
## [1] 0.18290310 0.76615536 0.05094154
## 
## Slot "fnMax":
## [1] 0.21274309 0.78548567 0.06007006
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1250000    5
## [2,] 6.0000000 1.0000000    8
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    6
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1666667 0.1111111    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1666667    7
## [2,]  8.0 1.0000000    9
## [3,]  0.2 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm9 <- as.matrix(data_list2$dm9)  ## 차례대로 입력하기.. data_list(dm9 -> dm9 -> dm9 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm9)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "9" 
## [2,] "1/7" "1"   "7" 
## [3,] "1/9" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 6.000    8
## [2,] 0.1250000 1.000    6
## [3,] 0.1111111 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    9
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1250000 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.7290524 0.1703563 0.0445094
## 
## Slot "fnModal":
## [1] 0.76075974 0.19119095 0.04804931
## 
## Slot "fnMax":
## [1] 0.78003707 0.22079601 0.05604768
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 6.000    8
## [2,] 0.1250000 1.000    6
## [3,] 0.1111111 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    9
## [2,] 0.1666667 1.0000000    8
## [3,] 0.1250000 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm9 <- as.matrix(data_list3$dm9)  ## 차례대로 입력하기.. data_list(dm9 -> dm9 -> dm9 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm9)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "7"   "9" 
## [2,] "1/7" "1"   "6" 
## [3,] "1/9" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000  8.0    9
## [2,] 0.1666667  1.0    7
## [3,] 0.1250000  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.73443543 0.16143119 0.04681785
## 
## Slot "fnModal":
## [1] 0.76615536 0.18290310 0.05094154
## 
## Slot "fnMax":
## [1] 0.78548567 0.21274309 0.06007006
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1250000 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 7.0000000    9
## [2,] 0.1428571 1.0000000    6
## [3,] 0.1111111 0.1666667    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000  8.0    9
## [2,] 0.1666667  1.0    7
## [3,] 0.1250000  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm9C0 <- array(NA,dim = c(n,n,3))
dm9C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm9C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm9C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm9D0 <- new.function(dm9C0)
dm9D0 # 퍼지점수 c(dm9D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.1748021 3.5568933 3.7797631
## [2,] 0.9410360 1.0626586 1.2050711
## [3,] 0.2513158 0.2645668 0.2924018
dm9Cw0 <- rowMeans(dm9D0)/sum(rowMeans(dm9D0)) # 평균 가중치
dm9Cw0
## [1] 0.72350568 0.22085995 0.05563437
sum(dm9Cw0)
## [1] 1
dm9C1 <- array(NA,dim = c(n,n,3))
dm9C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm9C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm9C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm9D1 <- new.function(dm9C1)
dm9D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.8549880 0.9499143 1.0527266
## [2,] 3.6342412 3.9790572 4.1601676
## [3,] 0.2513158 0.2645668 0.2924018
dm9Cw1 <- rowMeans(dm9D1)/sum(rowMeans(dm9D1)) # 평균 가중치
dm9Cw1
## [1] 0.18508703 0.76256084 0.05235213
sum(dm9Cw1)
## [1] 1
dm9C2 <- array(NA,dim = c(n,n,3))
dm9C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm9C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm9C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm9D2 <- new.function(dm9C2)
dm9D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.6342412 3.9790572 4.1601676
## [2,] 0.9085603 1.0000000 1.1006424
## [3,] 0.2403749 0.2513158 0.2751606
dm9Cw2 <- rowMeans(dm9D2)/sum(rowMeans(dm9D2)) # 평균 가중치
dm9Cw2
## [1] 0.75715945 0.19352383 0.04931672
sum(dm9Cw2)
## [1] 1
dm9C3 <- array(NA,dim = c(n,n,3))
dm9C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm9C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm9C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm9D3 <- new.function(dm9C3)
dm9D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.6342412 3.9790572 4.1601676
## [2,] 0.8549880 0.9499143 1.0527266
## [3,] 0.2513158 0.2645668 0.2924018
dm9Cw3 <- rowMeans(dm9D3)/sum(rowMeans(dm9D3)) # 평균 가중치
dm9Cw3
## [1] 0.76256084 0.18508703 0.05235213
sum(dm9Cw3)
## [1] 1
print(c(dm9Cw0[1]*dm9Cw1, dm9Cw0[2]*dm9Cw2, dm9Cw0[3]*dm9Cw3))  ## dm9 최종 9개 기준의 글로벌 가중치
## [1] 0.133911516 0.551717098 0.037877065 0.167226199 0.042741664 0.010892089
## [7] 0.042424592 0.010297200 0.002912578
dm9wt1 <- c(dm9Cw0[1]*dm9Cw1, dm9Cw0[2]*dm9Cw2, dm9Cw0[3]*dm9Cw3)
sum(dm9wt1)
## [1] 1
dm9wt1
## [1] 0.133911516 0.551717098 0.037877065 0.167226199 0.042741664 0.010892089
## [7] 0.042424592 0.010297200 0.002912578
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm10 <- as.matrix(data_list$dm10)  ## 차례대로 입력하기.. data_list(dm10 -> dm10 -> dm10 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm10)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "9"   "9" 
## [2,] "1/9" "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 9.000    9
## [2,] 0.125 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.75751595 0.17391304 0.04158436
## 
## Slot "fnModal":
## [1] 0.77849057 0.17992507 0.04158436
## 
## Slot "fnMax":
## [1] 0.78260870 0.19696209 0.04761905
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 9.000    9
## [2,] 0.125 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm10 <- as.matrix(data_list1$dm10)  ## 차례대로 입력하기.. data_list(dm10 -> dm10 -> dm10 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm10)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/4" "2" 
## [2,] "4"   "1"   "6" 
## [3,] "1/2" "1/6" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2500000    2
## [2,]  4.0 1.0000000    6
## [3,]  0.5 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2000000    1
## [2,] 3.0000000 1.0000000    5
## [3,] 0.3333333 0.1428571    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2500000    2
## [2,]  4.0 1.0000000    6
## [3,]  0.5 0.1666667    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.3333333    3
## [2,]    5 1.0000000    7
## [3,]    1 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.13355863 0.63698557 0.08096123
## 
## Slot "fnModal":
## [1] 0.1928803 0.7009736 0.1061461
## 
## Slot "fnMax":
## [1] 0.2582850 0.7470528 0.1561818
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2000000    1
## [2,] 3.0000000 1.0000000    5
## [3,] 0.3333333 0.1428571    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2500000    2
## [2,]  4.0 1.0000000    6
## [3,]  0.5 0.1666667    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.3333333    3
## [2,]    5 1.0000000    7
## [3,]    1 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm10 <- as.matrix(data_list2$dm10)  ## 차례대로 입력하기.. data_list(dm10 -> dm10 -> dm10 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm10)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "7"  "4"  
## [2,] "1/7" "1"  "1/4"
## [3,] "1/4" "4"  "1"  
## 
## Slot "values":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7 4.00
## [2,] 0.1428571    1 0.25
## [3,] 0.2500000    4 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2] [,3]
## [1,] 1.000    6  3.0
## [2,] 0.125    1  0.2
## [3,] 0.200    3  1.0
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7 4.00
## [2,] 0.1428571    1 0.25
## [3,] 0.2500000    4 1.00
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 5.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.3333333    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.63483841 0.06205005 0.18295461
## 
## Slot "fnModal":
## [1] 0.69552324 0.07542922 0.22904754
## 
## Slot "fnMax":
## [1] 0.74184458 0.09533773 0.28720276
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2] [,3]
## [1,] 1.000    6  3.0
## [2,] 0.125    1  0.2
## [3,] 0.200    3  1.0
## 
## Slot "fnModal":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7 4.00
## [2,] 0.1428571    1 0.25
## [3,] 0.2500000    4 1.00
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 5.0000000
## [2,] 0.1666667    1 0.3333333
## [3,] 0.3333333    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm10 <- as.matrix(data_list3$dm10)  ## 차례대로 입력하기.. data_list(dm10 -> dm10 -> dm10 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm10)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/8" "4" 
## [2,] "8"   "1"   "9" 
## [3,] "1/4" "1/9" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    4
## [2,] 8.00 1.0000000    9
## [3,] 0.25 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1111111    3
## [2,]  7.0 1.0000000    8
## [3,]  0.2 0.1111111    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    4
## [2,] 8.00 1.0000000    9
## [3,] 0.25 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    5
## [2,] 9.0000000 1.0000000    9
## [3,] 0.3333333 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.12951688 0.76331492 0.05177645
## 
## Slot "fnModal":
## [1] 0.15098774 0.79139965 0.05761261
## 
## Slot "fnMax":
## [1] 0.17834669 0.80821790 0.07037071
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.1111111    3
## [2,]  7.0 1.0000000    8
## [3,]  0.2 0.1111111    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1250000    4
## [2,] 8.00 1.0000000    9
## [3,] 0.25 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    5
## [2,] 9.0000000 1.0000000    9
## [3,] 0.3333333 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm10C0 <- array(NA,dim = c(n,n,3))
dm10C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm10C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm10C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm10D0 <- new.function(dm10C0)
dm10D0 # 퍼지점수 c(dm10D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 4.0000000 4.3267487 4.326749
## [2,] 0.9614997 1.0000000 1.040042
## [3,] 0.2311204 0.2311204 0.250000
dm10Cw0 <- rowMeans(dm10D0)/sum(rowMeans(dm10D0)) # 평균 가중치
dm10Cw0
## [1] 0.77309715 0.18338671 0.04351614
sum(dm10Cw0)
## [1] 1
dm10C1 <- array(NA,dim = c(n,n,3))
dm10C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm10C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm10C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm10D1 <- new.function(dm10C1)
dm10D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.5848035 0.7937005 1.0000000
## [2,] 2.4662121 2.8844991 3.2710663
## [3,] 0.3624601 0.4367902 0.5848035
dm10Cw1 <- rowMeans(dm10D1)/sum(rowMeans(dm10D1)) # 평균 가중치
dm10Cw1
## [1] 0.1920575 0.6961841 0.1117584
sum(dm10Cw1)
## [1] 1
dm10C2 <- array(NA,dim = c(n,n,3))
dm10C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm10C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm10C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm10D2 <- new.function(dm10C2)
dm10D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.6207414 3.0365890 3.4199519
## [2,] 0.2924018 0.3293169 0.3815714
## [3,] 0.8434327 1.0000000 1.1856311
dm10Cw2 <- rowMeans(dm10D2)/sum(rowMeans(dm10D2)) # 평균 가중치
dm10Cw2
## [1] 0.69241299 0.07653073 0.23105628
sum(dm10Cw2)
## [1] 1
dm10C3 <- array(NA,dim = c(n,n,3))
dm10C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm10C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm10C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm10D3 <- new.function(dm10C3)
dm10D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6933613 0.7937005 0.8939035
## [2,] 3.8258624 4.1601676 4.3267487
## [3,] 0.2811442 0.3028534 0.3466806
dm10Cw3 <- rowMeans(dm10D3)/sum(rowMeans(dm10D3)) # 평균 가중치
dm10Cw3
## [1] 0.15238742 0.78804697 0.05956561
sum(dm10Cw3)
## [1] 1
print(c(dm10Cw0[1]*dm10Cw1, dm10Cw0[2]*dm10Cw2, dm10Cw0[3]*dm10Cw3))  ## dm10 최종 9개 기준의 글로벌 가중치
## [1] 0.148479078 0.538217946 0.086400124 0.126979340 0.014034719 0.042372651
## [7] 0.006631312 0.034292763 0.002592066
dm10wt1 <- c(dm10Cw0[1]*dm10Cw1, dm10Cw0[2]*dm10Cw2, dm10Cw0[3]*dm10Cw3)
sum(dm10wt1)
## [1] 1
dm10wt1
## [1] 0.148479078 0.538217946 0.086400124 0.126979340 0.014034719 0.042372651
## [7] 0.006631312 0.034292763 0.002592066
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm11 <- as.matrix(data_list$dm11)  ## 차례대로 입력하기.. data_list(dm11 -> dm11 -> dm11 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm11)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "8"  "7"  
## [2,] "1/8" "1"  "1/8"
## [3,] "1/7" "8"  "1"  
## 
## Slot "values":
##           [,1] [,2]  [,3]
## [1,] 1.0000000    8 7.000
## [2,] 0.1250000    1 0.125
## [3,] 0.1428571    8 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 6.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1250000    7 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]  [,3]
## [1,] 1.0000000    8 7.000
## [2,] 0.1250000    1 0.125
## [3,] 0.1428571    8 1.000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 8.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.1666667    9 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.71346186 0.04255319 0.17818083
## 
## Slot "fnModal":
## [1] 0.74703764 0.04881498 0.20414737
## 
## Slot "fnMax":
## [1] 0.77500133 0.05690842 0.23495503
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 6.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.1250000    7 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]  [,3]
## [1,] 1.0000000    8 7.000
## [2,] 0.1250000    1 0.125
## [3,] 0.1428571    8 1.000
## 
## Slot "fnMax":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 8.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.1666667    9 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm11 <- as.matrix(data_list1$dm11)  ## 차례대로 입력하기.. data_list(dm11 -> dm11 -> dm11 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm11)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "8"   "9" 
## [2,] "1/8" "1"   "7" 
## [3,] "1/9" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    9
## [2,] 0.1250000 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 7.000    8
## [2,] 0.1111111 1.000    6
## [3,] 0.1111111 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    9
## [2,] 0.1250000 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1428571 1.0000000    8
## [3,] 0.1250000 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.74703764 0.15985308 0.04347826
## 
## Slot "fnModal":
## [1] 0.77500133 0.17818083 0.04681785
## 
## Slot "fnMax":
## [1] 0.79173487 0.20414737 0.05447714
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 7.000    8
## [2,] 0.1111111 1.000    6
## [3,] 0.1111111 0.125    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    9
## [2,] 0.1250000 1.0000000    7
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1428571 1.0000000    8
## [3,] 0.1250000 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm11 <- as.matrix(data_list2$dm11)  ## 차례대로 입력하기.. data_list(dm11 -> dm11 -> dm11 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm11)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/8" "8" 
## [2,] "8"   "1"   "9" 
## [3,] "1/8" "1/9" "1" 
## 
## Slot "values":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 7.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.16727730 0.74236442 0.04158436
## 
## Slot "fnModal":
## [1] 0.1851666 0.7703240 0.0445094
## 
## Slot "fnMax":
## [1] 0.21099361 0.78700985 0.05137932
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 7.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm11 <- as.matrix(data_list3$dm11)  ## 차례대로 입력하기.. data_list(dm11 -> dm11 -> dm11 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm11)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/8" "8" 
## [2,] "8"   "1"   "9" 
## [3,] "1/8" "1/9" "1" 
## 
## Slot "values":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 7.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.16727730 0.74236442 0.04158436
## 
## Slot "fnModal":
## [1] 0.1851666 0.7703240 0.0445094
## 
## Slot "fnMax":
## [1] 0.21099361 0.78700985 0.05137932
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 7.0000000 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    8
## [2,] 8.000 1.0000000    9
## [3,] 0.125 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    9
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm11C0 <- array(NA,dim = c(n,n,3))
dm11C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm11C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm11C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm11D0 <- new.function(dm11C0)
dm11D0 # 퍼지점수 c(dm11D1)으로 백터화
##           [,1]     [,2]      [,3]
## [1,] 3.4760266 3.825862 4.1601676
## [2,] 0.2311204 0.250000 0.2732759
## [3,] 0.9564656 1.045516 1.1447142
dm11Cw0 <- rowMeans(dm11D0)/sum(rowMeans(dm11D0)) # 평균 가중치
dm11Cw0
## [1] 0.74607471 0.04910428 0.20482102
sum(dm11Cw0)
## [1] 1
dm11C1 <- array(NA,dim = c(n,n,3))
dm11C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm11C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm11C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm11D1 <- new.function(dm11C1)
dm11D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.8258624 4.1601676 4.3267487
## [2,] 0.8735805 0.9564656 1.0455159
## [3,] 0.2403749 0.2513158 0.2751606
dm11Cw1 <- rowMeans(dm11D1)/sum(rowMeans(dm11D1)) # 평균 가중치
dm11Cw1
## [1] 0.77170984 0.18022735 0.04806281
sum(dm11Cw1)
## [1] 1
dm11C2 <- array(NA,dim = c(n,n,3))
dm11C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm11C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm11C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm11D2 <- new.function(dm11C2)
dm11D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.9196414 1.0000000 1.087380
## [2,] 3.8258624 4.1601676 4.326749
## [3,] 0.2311204 0.2403749 0.261379
dm11Cw2 <- rowMeans(dm11D2)/sum(rowMeans(dm11D2)) # 평균 가중치
dm11Cw2
## [1] 0.18732216 0.76702349 0.04565434
sum(dm11Cw2)
## [1] 1
dm11C3 <- array(NA,dim = c(n,n,3))
dm11C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm11C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm11C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm11D3 <- new.function(dm11C3)
dm11D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.9196414 1.0000000 1.087380
## [2,] 3.8258624 4.1601676 4.326749
## [3,] 0.2311204 0.2403749 0.261379
dm11Cw3 <- rowMeans(dm11D3)/sum(rowMeans(dm11D3)) # 평균 가중치
dm11Cw3
## [1] 0.18732216 0.76702349 0.04565434
sum(dm11Cw3)
## [1] 1
print(c(dm11Cw0[1]*dm11Cw1, dm11Cw0[2]*dm11Cw2, dm11Cw0[3]*dm11Cw3))  ## dm11 최종 9개 기준의 글로벌 가중치
## [1] 0.575753193 0.134463067 0.035858446 0.009198319 0.037664134 0.002241824
## [7] 0.038367516 0.157102532 0.009350969
dm11wt1 <- c(dm11Cw0[1]*dm11Cw1, dm11Cw0[2]*dm11Cw2, dm11Cw0[3]*dm11Cw3)
sum(dm11wt1)
## [1] 1
dm11wt1
## [1] 0.575753193 0.134463067 0.035858446 0.009198319 0.037664134 0.002241824
## [7] 0.038367516 0.157102532 0.009350969
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm12 <- as.matrix(data_list$dm12)  ## 차례대로 입력하기.. data_list(dm12 -> dm12 -> dm12 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm12)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "7"  "7"  
## [2,] "1/7" "1"  "1/6"
## [3,] "1/7" "6"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1666667
## [3,] 0.1428571    6 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2]      [,3]
## [1,] 1.000    6 6.0000000
## [2,] 0.125    1 0.1428571
## [3,] 0.125    5 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1666667
## [3,] 0.1428571    6 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  8.0
## [2,] 0.1666667    1  0.2
## [3,] 0.1666667    7  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.71126376 0.05009329 0.16610127
## 
## Slot "fnModal":
## [1] 0.74726912 0.05874829 0.19398259
## 
## Slot "fnMax":
## [1] 0.7770929 0.0705026 0.2267664
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1] [,2]      [,3]
## [1,] 1.000    6 6.0000000
## [2,] 0.125    1 0.1428571
## [3,] 0.125    5 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 7.0000000
## [2,] 0.1428571    1 0.1666667
## [3,] 0.1428571    6 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  8.0
## [2,] 0.1666667    1  0.2
## [3,] 0.1666667    7  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm12 <- as.matrix(data_list1$dm12)  ## 차례대로 입력하기.. data_list(dm12 -> dm12 -> dm12 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm12)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/6" "3" 
## [2,] "6"   "1"   "7" 
## [3,] "1/3" "1/7" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    3
## [2,] 6.0000000 1.0000000    7
## [3,] 0.3333333 0.1428571    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1428571    2
## [2,] 5.00 1.0000000    6
## [3,] 0.25 0.1250000    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    3
## [2,] 6.0000000 1.0000000    7
## [3,] 0.3333333 0.1428571    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2000000    4
## [2,]  7.0 1.0000000    8
## [3,]  0.5 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.13492871 0.70905267 0.06336778
## 
## Slot "fnModal":
## [1] 0.17134465 0.75040719 0.07824816
## 
## Slot "fnMax":
## [1] 0.2118368 0.7837719 0.1020340
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.1428571    2
## [2,] 5.00 1.0000000    6
## [3,] 0.25 0.1250000    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    3
## [2,] 6.0000000 1.0000000    7
## [3,] 0.3333333 0.1428571    1
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2000000    4
## [2,]  7.0 1.0000000    8
## [3,]  0.5 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm12 <- as.matrix(data_list2$dm12)  ## 차례대로 입력하기.. data_list(dm12 -> dm12 -> dm12 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm12)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "6"  "4"  
## [2,] "1/6" "1"  "1/6"
## [3,] "1/4" "6"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 4.0000000
## [2,] 0.1666667    1 0.1666667
## [3,] 0.2500000    6 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    5 3.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.2000000    5 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 4.0000000
## [2,] 0.1666667    1 0.1666667
## [3,] 0.2500000    6 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  5.0
## [2,] 0.2000000    1  0.2
## [3,] 0.3333333    7  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.60176830 0.05860477 0.21849437
## 
## Slot "fnModal":
## [1] 0.66584826 0.06990969 0.26424206
## 
## Slot "fnMax":
## [1] 0.7147096 0.0856307 0.3236367
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    5 3.0000000
## [2,] 0.1428571    1 0.1428571
## [3,] 0.2000000    5 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    6 4.0000000
## [2,] 0.1666667    1 0.1666667
## [3,] 0.2500000    6 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    7  5.0
## [2,] 0.2000000    1  0.2
## [3,] 0.3333333    7  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm12 <- as.matrix(data_list3$dm12)  ## 차례대로 입력하기.. data_list(dm12 -> dm12 -> dm12 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm12)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/6" "6" 
## [2,] "6"   "1"   "6" 
## [3,] "1/6" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    6
## [2,] 6.0000000 1.0000000    6
## [3,] 0.1666667 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    5
## [2,] 5.0000000 1.0000000    5
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    6
## [2,] 6.0000000 1.0000000    6
## [3,] 0.1666667 0.1666667    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0  0.2    7
## [2,]  7.0  1.0    7
## [3,]  0.2  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.1839717 0.6724326 0.0554022
## 
## Slot "fnModal":
## [1] 0.21716561 0.71706504 0.06576935
## 
## Slot "fnMax":
## [1] 0.25726347 0.75311093 0.08016741
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    5
## [2,] 5.0000000 1.0000000    5
## [3,] 0.1428571 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    6
## [2,] 6.0000000 1.0000000    6
## [3,] 0.1666667 0.1666667    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]  1.0  0.2    7
## [2,]  7.0  1.0    7
## [3,]  0.2  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm12C0 <- array(NA,dim = c(n,n,3))
dm12C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm12C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm12C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm12D0 <- new.function(dm12C0)
dm12D0 # 퍼지점수 c(dm12D1)으로 백터화
##          [,1]      [,2]      [,3]
## [1,] 3.301927 3.6593057 4.0000000
## [2,] 0.261379 0.2876848 0.3218298
## [3,] 0.854988 0.9499143 1.0527266
dm12Cw0 <- rowMeans(dm12D0)/sum(rowMeans(dm12D0)) # 평균 가중치
dm12Cw0
## [1] 0.74618213 0.05928578 0.19453209
sum(dm12Cw0)
## [1] 1
dm12C1 <- array(NA,dim = c(n,n,3))
dm12C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm12C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm12C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm12D1 <- new.function(dm12C1)
dm12D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6586338 0.7937005 0.9283178
## [2,] 3.1072325 3.4760266 3.8258624
## [3,] 0.3149803 0.3624601 0.4367902
dm12Cw1 <- rowMeans(dm12D1)/sum(rowMeans(dm12D1)) # 평균 가중치
dm12Cw1
## [1] 0.17122061 0.74864200 0.08013739
sum(dm12Cw1)
## [1] 1
dm12C2 <- array(NA,dim = c(n,n,3))
dm12C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm12C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm12C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm12D2 <- new.function(dm12C2)
dm12D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 2.4662121 2.8844991 3.2710663
## [2,] 0.2732759 0.3028534 0.3419952
## [3,] 1.0000000 1.1447142 1.3263524
dm12Cw2 <- rowMeans(dm12D2)/sum(rowMeans(dm12D2)) # 평균 가중치
dm12Cw2
## [1] 0.66265454 0.07056542 0.26678003
sum(dm12Cw2)
## [1] 1
dm12C3 <- array(NA,dim = c(n,n,3))
dm12C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm12C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm12C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm12D3 <- new.function(dm12C3)
dm12D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.8939035 1.0000000 1.1186889
## [2,] 2.9240177 3.3019272 3.6593057
## [3,] 0.2732759 0.3028534 0.3419952
dm12Cw3 <- rowMeans(dm12D3)/sum(rowMeans(dm12D3)) # 평균 가중치
dm12Cw3
## [1] 0.21805150 0.71549463 0.06645387
sum(dm12Cw3)
## [1] 1
print(c(dm12Cw0[1]*dm12Cw1, dm12Cw0[2]*dm12Cw2, dm12Cw0[3]*dm12Cw3))  ## dm12 최종 9개 기준의 글로벌 가중치
## [1] 0.127761758 0.558623284 0.059797089 0.039285990 0.004183526 0.015816262
## [7] 0.042418014 0.139186667 0.012927410
dm12wt1 <- c(dm12Cw0[1]*dm12Cw1, dm12Cw0[2]*dm12Cw2, dm12Cw0[3]*dm12Cw3)
sum(dm12wt1)
## [1] 1
dm12wt1
## [1] 0.127761758 0.558623284 0.059797089 0.039285990 0.004183526 0.015816262
## [7] 0.042418014 0.139186667 0.012927410
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm13 <- as.matrix(data_list$dm13)  ## 차례대로 입력하기.. data_list(dm13 -> dm13 -> dm13 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm13)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "9"  "1"  
## [2,] "1/9" "1"  "1/9"
## [3,] "1"   "9"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 1.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 1.0000000    9 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 0.5000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.5000000    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 1.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 1.0000000    9 1.0000000
## 
## Slot "fnMax":
##       [,1] [,2]  [,3]
## [1,] 1.000    9 2.000
## [2,] 0.125    1 0.125
## [3,] 2.000    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.35683823 0.05132787 0.35683823
## 
## Slot "fnModal":
## [1] 0.47368421 0.05263158 0.47368421
## 
## Slot "fnMax":
## [1] 0.58912693 0.05737573 0.58912693
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    8 0.5000000
## [2,] 0.1111111    1 0.1111111
## [3,] 0.5000000    8 1.0000000
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    9 1.0000000
## [2,] 0.1111111    1 0.1111111
## [3,] 1.0000000    9 1.0000000
## 
## Slot "fnMax":
##       [,1] [,2]  [,3]
## [1,] 1.000    9 2.000
## [2,] 0.125    1 0.125
## [3,] 2.000    9 1.000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm13 <- as.matrix(data_list1$dm13)  ## 차례대로 입력하기.. data_list(dm13 -> dm13 -> dm13 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm13)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/9" "7" 
## [2,] "9"   "1"   "9" 
## [3,] "1/7" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1111111    6
## [2,] 8.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 0.125    8
## [2,] 9.0000000 1.000    9
## [3,] 0.1666667 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.15985308 0.76190476 0.04347826
## 
## Slot "fnModal":
## [1] 0.16727730 0.78700985 0.04571285
## 
## Slot "fnMax":
## [1] 0.19047619 0.79173487 0.05308168
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1111111    6
## [2,] 8.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1111111    7
## [2,] 9.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]  [,2] [,3]
## [1,] 1.0000000 0.125    8
## [2,] 9.0000000 1.000    9
## [3,] 0.1666667 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm13 <- as.matrix(data_list2$dm13)  ## 차례대로 입력하기.. data_list(dm13 -> dm13 -> dm13 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm13)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "9"   "9" 
## [2,] "1/9" "1"   "9" 
## [3,] "1/9" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 9.000    9
## [2,] 0.125 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.75751595 0.17391304 0.04158436
## 
## Slot "fnModal":
## [1] 0.77849057 0.17992507 0.04158436
## 
## Slot "fnMax":
## [1] 0.78260870 0.19696209 0.04761905
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 8.0000000    8
## [2,] 0.1111111 1.0000000    8
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 9.0000000    9
## [2,] 0.1111111 1.0000000    9
## [3,] 0.1111111 0.1111111    1
## 
## Slot "fnMax":
##       [,1]  [,2] [,3]
## [1,] 1.000 9.000    9
## [2,] 0.125 1.000    9
## [3,] 0.125 0.125    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm13 <- as.matrix(data_list3$dm13)  ## 차례대로 입력하기.. data_list(dm13 -> dm13 -> dm13 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm13)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/7" "7" 
## [2,] "7"   "1"   "9" 
## [3,] "1/7" "1/9" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.1703563 0.7290524 0.0445094
## 
## Slot "fnModal":
## [1] 0.19119095 0.76075974 0.04804931
## 
## Slot "fnMax":
## [1] 0.22079601 0.78003707 0.05604768
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##       [,1]      [,2] [,3]
## [1,] 1.000 0.1250000    6
## [2,] 6.000 1.0000000    8
## [3,] 0.125 0.1111111    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1428571    7
## [2,] 7.0000000 1.0000000    9
## [3,] 0.1428571 0.1111111    1
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.1666667    8
## [2,] 8.0000000 1.0000000    9
## [3,] 0.1666667 0.1250000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm13C0 <- array(NA,dim = c(n,n,3))
dm13C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm13C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm13C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm13D0 <- new.function(dm13C0)
dm13D0 # 퍼지점수 c(dm13D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 1.5874011 2.0800838 2.620741
## [2,] 0.2311204 0.2311204 0.250000
## [3,] 1.5874011 2.0800838 2.620741
dm13Cw0 <- rowMeans(dm13D0)/sum(rowMeans(dm13D0)) # 평균 가중치
dm13Cw0
## [1] 0.47320125 0.05359751 0.47320125
sum(dm13Cw0)
## [1] 1
dm13C1 <- array(NA,dim = c(n,n,3))
dm13C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm13C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm13C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm13D1 <- new.function(dm13C1)
dm13D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.8735805 0.9196414 1.0000000
## [2,] 4.0000000 4.3267487 4.3267487
## [3,] 0.2403749 0.2513158 0.2751606
dm13Cw1 <- rowMeans(dm13D1)/sum(rowMeans(dm13D1)) # 평균 가중치
dm13Cw1
## [1] 0.17227679 0.78042633 0.04729688
sum(dm13Cw1)
## [1] 1
dm13C2 <- array(NA,dim = c(n,n,3))
dm13C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm13C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm13C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm13D2 <- new.function(dm13C2)
dm13D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 4.0000000 4.3267487 4.326749
## [2,] 0.9614997 1.0000000 1.040042
## [3,] 0.2311204 0.2311204 0.250000
dm13Cw2 <- rowMeans(dm13D2)/sum(rowMeans(dm13D2)) # 평균 가중치
dm13Cw2
## [1] 0.77309715 0.18338671 0.04351614
sum(dm13Cw2)
## [1] 1
dm13C3 <- array(NA,dim = c(n,n,3))
dm13C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm13C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm13C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm13D3 <- new.function(dm13C3)
dm13D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.9085603 1.0000000 1.1006424
## [2,] 3.6342412 3.9790572 4.1601676
## [3,] 0.2403749 0.2513158 0.2751606
dm13Cw3 <- rowMeans(dm13D3)/sum(rowMeans(dm13D3)) # 평균 가중치
dm13Cw3
## [1] 0.19352383 0.75715945 0.04931672
sum(dm13Cw3)
## [1] 1
print(c(dm13Cw0[1]*dm13Cw1, dm13Cw0[2]*dm13Cw2, dm13Cw0[3]*dm13Cw3))  ## dm13 최종 9개 기준의 글로벌 가중치
## [1] 0.081521590 0.369298712 0.022380944 0.041436081 0.009829071 0.002332357
## [7] 0.091575718 0.358288794 0.023336734
dm13wt1 <- c(dm13Cw0[1]*dm13Cw1, dm13Cw0[2]*dm13Cw2, dm13Cw0[3]*dm13Cw3)
sum(dm13wt1)
## [1] 1
dm13wt1
## [1] 0.081521590 0.369298712 0.022380944 0.041436081 0.009829071 0.002332357
## [7] 0.091575718 0.358288794 0.023336734
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm14 <- as.matrix(data_list$dm14)  ## 차례대로 입력하기.. data_list(dm14 -> dm14 -> dm14 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm14)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "7"  "6"  
## [2,] "1/7" "1"  "1/3"
## [3,] "1/6" "3"  "1"  
## 
## Slot "values":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 6.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.1666667    3 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    6 5.00
## [2,] 0.1250000    1 0.25
## [3,] 0.1428571    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 6.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.1666667    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  7.0
## [2,] 0.1666667    1  0.5
## [3,] 0.2000000    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.70905267 0.06336778 0.13492871
## 
## Slot "fnModal":
## [1] 0.75040719 0.07824816 0.17134465
## 
## Slot "fnMax":
## [1] 0.7837719 0.1020340 0.2118368
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2] [,3]
## [1,] 1.0000000    6 5.00
## [2,] 0.1250000    1 0.25
## [3,] 0.1428571    2 1.00
## 
## Slot "fnModal":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    7 6.0000000
## [2,] 0.1428571    1 0.3333333
## [3,] 0.1666667    3 1.0000000
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000    8  7.0
## [2,] 0.1666667    1  0.5
## [3,] 0.2000000    4  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm14 <- as.matrix(data_list1$dm14)  ## 차례대로 입력하기.. data_list(dm14 -> dm14 -> dm14 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm14)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3] 
## [1,] "1"  "1/2" "1/6"
## [2,] "2"  "1"   "1/4"
## [3,] "6"  "4"   "1"  
## 
## Slot "values":
##      [,1] [,2]      [,3]
## [1,]    1  0.5 0.1666667
## [2,]    2  1.0 0.2500000
## [3,]    6  4.0 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2]      [,3]
## [1,]    1 0.3333333 0.1428571
## [2,]    1 1.0000000 0.2000000
## [3,]    5 3.0000000 1.0000000
## 
## Slot "fnModal":
##      [,1] [,2]      [,3]
## [1,]    1  0.5 0.1666667
## [2,]    2  1.0 0.2500000
## [3,]    6  4.0 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2]      [,3]
## [1,]    1    1 0.2000000
## [2,]    3    1 0.3333333
## [3,]    7    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.08096123 0.13355863 0.63698557
## 
## Slot "fnModal":
## [1] 0.1061461 0.1928803 0.7009736
## 
## Slot "fnMax":
## [1] 0.1561818 0.2582850 0.7470528
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2]      [,3]
## [1,]    1 0.3333333 0.1428571
## [2,]    1 1.0000000 0.2000000
## [3,]    5 3.0000000 1.0000000
## 
## Slot "fnModal":
##      [,1] [,2]      [,3]
## [1,]    1  0.5 0.1666667
## [2,]    2  1.0 0.2500000
## [3,]    6  4.0 1.0000000
## 
## Slot "fnMax":
##      [,1] [,2]      [,3]
## [1,]    1    1 0.2000000
## [2,]    3    1 0.3333333
## [3,]    7    5 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm14 <- as.matrix(data_list2$dm14)  ## 차례대로 입력하기.. data_list(dm14 -> dm14 -> dm14 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm14)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "6"   "8" 
## [2,] "1/6" "1"   "6" 
## [3,] "1/8" "1/6" "1" 
## 
## Slot "values":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1250000 0.1666667    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    7
## [2,] 0.1428571 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000  7.0    9
## [2,] 0.2000000  1.0    7
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.70148927 0.17343526 0.04804931
## 
## Slot "fnModal":
## [1] 0.74026151 0.20369080 0.05604768
## 
## Slot "fnMax":
## [1] 0.77201711 0.23990596 0.06679607
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 5.0000000    7
## [2,] 0.1428571 1.0000000    5
## [3,] 0.1111111 0.1428571    1
## 
## Slot "fnModal":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 6.0000000    8
## [2,] 0.1666667 1.0000000    6
## [3,] 0.1250000 0.1666667    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000  7.0    9
## [2,] 0.2000000  1.0    7
## [3,] 0.1428571  0.2    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm14 <- as.matrix(data_list3$dm14)  ## 차례대로 입력하기.. data_list(dm14 -> dm14 -> dm14 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm14)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1] [,2]  [,3] 
## [1,] "1"  "1/8" "1/5"
## [2,] "8"  "1"   "7"  
## [3,] "5"  "1/7" "1"  
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,]    1 0.1250000  0.2
## [2,]    8 1.0000000  7.0
## [3,]    5 0.1428571  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1111111 0.1666667
## [2,]    7 1.0000000 6.0000000
## [3,]    4 0.1250000 1.0000000
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]    1 0.1250000  0.2
## [2,]    8 1.0000000  7.0
## [3,]    5 0.1428571  1.0
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.1428571 0.25
## [2,]    9 1.0000000 8.00
## [3,]    6 0.1666667 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.04960664 0.72968875 0.15098774
## 
## Slot "fnModal":
## [1] 0.05833839 0.76331492 0.17834669
## 
## Slot "fnMax":
## [1] 0.07038304 0.79139965 0.20992036
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2]      [,3]
## [1,]    1 0.1111111 0.1666667
## [2,]    7 1.0000000 6.0000000
## [3,]    4 0.1250000 1.0000000
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]    1 0.1250000  0.2
## [2,]    8 1.0000000  7.0
## [3,]    5 0.1428571  1.0
## 
## Slot "fnMax":
##      [,1]      [,2] [,3]
## [1,]    1 0.1428571 0.25
## [2,]    9 1.0000000 8.00
## [3,]    6 0.1666667 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm14C0 <- array(NA,dim = c(n,n,3))
dm14C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm14C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm14C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm14D0 <- new.function(dm14C0)
dm14D0 # 퍼지점수 c(dm14D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.1072325 3.4760266 3.8258624
## [2,] 0.3149803 0.3624601 0.4367902
## [3,] 0.6586338 0.7937005 0.9283178
dm14Cw0 <- rowMeans(dm14D0)/sum(rowMeans(dm14D0)) # 평균 가중치
dm14Cw0
## [1] 0.74864200 0.08013739 0.17122061
sum(dm14Cw0)
## [1] 1
dm14C1 <- array(NA,dim = c(n,n,3))
dm14C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm14C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm14C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm14D1 <- new.function(dm14C1)
dm14D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.3624601 0.4367902 0.5848035
## [2,] 0.5848035 0.7937005 1.0000000
## [3,] 2.4662121 2.8844991 3.2710663
dm14Cw1 <- rowMeans(dm14D1)/sum(rowMeans(dm14D1)) # 평균 가중치
dm14Cw1
## [1] 0.1117584 0.1920575 0.6961841
sum(dm14Cw1)
## [1] 1
dm14C2 <- array(NA,dim = c(n,n,3))
dm14C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm14C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm14C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm14D2 <- new.function(dm14C2)
dm14D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 3.2710663 3.6342412 3.9790572
## [2,] 0.8939035 1.0000000 1.1186889
## [3,] 0.2513158 0.2751606 0.3057107
dm14Cw2 <- rowMeans(dm14D2)/sum(rowMeans(dm14D2)) # 평균 가중치
dm14Cw2
## [1] 0.73896789 0.20453276 0.05649935
sum(dm14Cw2)
## [1] 1
dm14C3 <- array(NA,dim = c(n,n,3))
dm14C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm14C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm14C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm14D3 <- new.function(dm14C3)
dm14D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.2645668 0.2924018 0.3293169
## [2,] 3.4760266 3.8258624 4.1601676
## [3,] 0.7937005 0.8939035 1.0000000
dm14Cw3 <- rowMeans(dm14D3)/sum(rowMeans(dm14D3)) # 평균 가중치
dm14Cw3
## [1] 0.05894444 0.76231030 0.17874526
sum(dm14Cw3)
## [1] 1
print(c(dm14Cw0[1]*dm14Cw1, dm14Cw0[2]*dm14Cw2, dm14Cw0[3]*dm14Cw3))  ## dm14 최종 9개 기준의 글로벌 가중치
## [1] 0.083667055 0.143782284 0.521192661 0.059218959 0.016390721 0.004527711
## [7] 0.010092504 0.130523233 0.030604871
dm14wt1 <- c(dm14Cw0[1]*dm14Cw1, dm14Cw0[2]*dm14Cw2, dm14Cw0[3]*dm14Cw3)
sum(dm14wt1)
## [1] 1
dm14wt1
## [1] 0.083667055 0.143782284 0.521192661 0.059218959 0.016390721 0.004527711
## [7] 0.010092504 0.130523233 0.030604871
# Fuzzy Pairwise Comparison Matrix Creation
# comparisonMatrixValues에 입력하기
listdm15 <- as.matrix(data_list$dm15)  ## 차례대로 입력하기.. data_list(dm15 -> dm15 -> dm15 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix = pairwiseComparisonMatrix(listdm15)
comparisonMatrix
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2] [,3] 
## [1,] "1"   "5"  "1/2"
## [2,] "1/5" "1"  "1/5"
## [3,] "2"   "5"  "1"  
## 
## Slot "values":
##      [,1] [,2] [,3]
## [1,]  1.0    5  0.5
## [2,]  0.2    1  0.2
## [3,]  2.0    5  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix = fuzzyPairwiseComparisonMatrix(comparisonMatrix)
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    4 0.3333333
## [2,] 0.1666667    1 0.1666667
## [3,] 1.0000000    4 1.0000000
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0    5  0.5
## [2,]  0.2    1  0.2
## [3,]  2.0    5  1.0
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,] 1.00    6 1.00
## [2,] 0.25    1 0.25
## [3,] 3.00    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights = calculateWeights(fuzzyComparisonMatrix)
weights
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.27055678 0.07239208 0.42317127
## 
## Slot "fnModal":
## [1] 0.35218891 0.08874604 0.55906505
## 
## Slot "fnMax":
## [1] 0.4844102 0.1111111 0.6442232
fuzzyComparisonMatrix
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1] [,2]      [,3]
## [1,] 1.0000000    4 0.3333333
## [2,] 0.1666667    1 0.1666667
## [3,] 1.0000000    4 1.0000000
## 
## Slot "fnModal":
##      [,1] [,2] [,3]
## [1,]  1.0    5  0.5
## [2,]  0.2    1  0.2
## [3,]  2.0    5  1.0
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,] 1.00    6 1.00
## [2,] 0.25    1 0.25
## [3,] 3.00    6 1.00
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list1dm15 <- as.matrix(data_list1$dm15)  ## 차례대로 입력하기.. data_list(dm15 -> dm15 -> dm15 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix1 = pairwiseComparisonMatrix(list1dm15)
comparisonMatrix1
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3] 
## [1,] "1"   "1/4" "4"  
## [2,] "4"   "1"   "1/3"
## [3,] "1/4" "3"   "1"  
## 
## Slot "values":
##      [,1] [,2]      [,3]
## [1,] 1.00 0.25 4.0000000
## [2,] 4.00 1.00 0.3333333
## [3,] 0.25 3.00 1.0000000
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix1 = fuzzyPairwiseComparisonMatrix(comparisonMatrix1)
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2] [,3]
## [1,]  1.0  0.2 3.00
## [2,]  3.0  1.0 0.25
## [3,]  0.2  2.0 1.00
## 
## Slot "fnModal":
##      [,1] [,2]      [,3]
## [1,] 1.00 0.25 4.0000000
## [2,] 4.00 1.00 0.3333333
## [3,] 0.25 3.00 1.0000000
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.3333333  5.0
## [2,] 5.0000000 1.0000000  0.5
## [3,] 0.3333333 4.0000000  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights1 = calculateWeights(fuzzyComparisonMatrix1)
weights1
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.2743565 0.3005980 0.2381392
## 
## Slot "fnModal":
## [1] 0.3323139 0.3657588 0.3019272
## 
## Slot "fnMax":
## [1] 0.3922672 0.4414804 0.3657588
fuzzyComparisonMatrix1
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1] [,2] [,3]
## [1,]  1.0  0.2 3.00
## [2,]  3.0  1.0 0.25
## [3,]  0.2  2.0 1.00
## 
## Slot "fnModal":
##      [,1] [,2]      [,3]
## [1,] 1.00 0.25 4.0000000
## [2,] 4.00 1.00 0.3333333
## [3,] 0.25 3.00 1.0000000
## 
## Slot "fnMax":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.3333333  5.0
## [2,] 5.0000000 1.0000000  0.5
## [3,] 0.3333333 4.0000000  1.0
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list2dm15 <- as.matrix(data_list2$dm15)  ## 차례대로 입력하기.. data_list(dm15 -> dm15 -> dm15 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix2 = pairwiseComparisonMatrix(list2dm15)
comparisonMatrix2
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/3" "4" 
## [2,] "3"   "1"   "5" 
## [3,] "1/4" "1/5" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.3333333    4
## [2,] 3.00 1.0000000    5
## [3,] 0.25 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix2 = fuzzyPairwiseComparisonMatrix(comparisonMatrix2)
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2500000    3
## [2,]  2.0 1.0000000    4
## [3,]  0.2 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.3333333    4
## [2,] 3.00 1.0000000    5
## [3,] 0.25 0.2000000    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 0.50    5
## [2,] 4.0000000 1.00    6
## [3,] 0.3333333 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights2 = calculateWeights(fuzzyComparisonMatrix2)
weights2
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.21763848 0.53682456 0.07513163
## 
## Slot "fnModal":
## [1] 0.27968751 0.62669647 0.09361602
## 
## Slot "fnMax":
## [1] 0.3642915 0.6909591 0.1219572
fuzzyComparisonMatrix2
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.2500000    3
## [2,]  2.0 1.0000000    4
## [3,]  0.2 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,] 1.00 0.3333333    4
## [2,] 3.00 1.0000000    5
## [3,] 0.25 0.2000000    1
## 
## Slot "fnMax":
##           [,1] [,2] [,3]
## [1,] 1.0000000 0.50    5
## [2,] 4.0000000 1.00    6
## [3,] 0.3333333 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
list3dm15 <- as.matrix(data_list3$dm15)  ## 차례대로 입력하기.. data_list(dm15 -> dm15 -> dm15 ->....) ->data_list1 ->data_list2 -> data_list3
comparisonMatrix3 = pairwiseComparisonMatrix(list3dm15)
comparisonMatrix3
## An object of class "PairwiseComparisonMatrix"
## Slot "valuesChar":
##      [,1]  [,2]  [,3]
## [1,] "1"   "1/3" "2" 
## [2,] "3"   "1"   "5" 
## [3,] "1/2" "1/5" "1" 
## 
## Slot "values":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
fuzzyComparisonMatrix3 = fuzzyPairwiseComparisonMatrix(comparisonMatrix3)
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2500000    1
## [2,] 2.0000000 1.0000000    4
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.50    3
## [2,]    4 1.00    6
## [3,]    1 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
weights3 = calculateWeights(fuzzyComparisonMatrix3)
weights3
## An object of class "FuzzyWeights"
## Slot "fnMin":
## [1] 0.15498019 0.55842454 0.09140243
## 
## Slot "fnModal":
## [1] 0.2296508 0.6483290 0.1220202
## 
## Slot "fnMax":
## [1] 0.3196183 0.7096321 0.1840020
fuzzyComparisonMatrix3
## An object of class "FuzzyPairwiseComparisonMatrix"
## Slot "fnMin":
##           [,1]      [,2] [,3]
## [1,] 1.0000000 0.2500000    1
## [2,] 2.0000000 1.0000000    4
## [3,] 0.3333333 0.1666667    1
## 
## Slot "fnModal":
##      [,1]      [,2] [,3]
## [1,]  1.0 0.3333333    2
## [2,]  3.0 1.0000000    5
## [3,]  0.5 0.2000000    1
## 
## Slot "fnMax":
##      [,1] [,2] [,3]
## [1,]    1 0.50    3
## [2,]    4 1.00    6
## [3,]    1 0.25    1
## 
## Slot "variableNames":
## [1] "...1" "...2" "...3"
new.function <- function(P)
{
  s <- dim(P)
  n <- s[1]
  D <- matrix(NA, nrow = n, ncol = 3)
  for(i in 1:3)
  {
    for(j in 1:n)
    {
      D[j,i] <- geometric.mean(c(P[j,1,i],P[j,2,i],P[j,3,i]))
    }
  }
  return(D)
}



n <- 3 
dm15C0 <- array(NA,dim = c(n,n,3))
dm15C0[,,1] <- fuzzyComparisonMatrix@fnMin
dm15C0[,,2] <- fuzzyComparisonMatrix@fnModal
dm15C0[,,3] <- fuzzyComparisonMatrix@fnMax

dm15D0 <- new.function(dm15C0)
dm15D0 # 퍼지점수 c(dm15D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 1.1006424 1.3572088 1.8171206
## [2,] 0.3028534 0.3419952 0.3968503
## [3,] 1.5874011 2.1544347 2.6207414
dm15Cw0 <- rowMeans(dm15D0)/sum(rowMeans(dm15D0)) # 평균 가중치
dm15Cw0
## [1] 0.36603143 0.08919229 0.54477628
sum(dm15Cw0)
## [1] 1
dm15C1 <- array(NA,dim = c(n,n,3))
dm15C1[,,1] <- fuzzyComparisonMatrix1@fnMin
dm15C1[,,2] <- fuzzyComparisonMatrix1@fnModal
dm15C1[,,3] <- fuzzyComparisonMatrix1@fnMax

dm15D1 <- new.function(dm15C1)
dm15D1 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]     [,3]
## [1,] 0.8434327 1.0000000 1.185631
## [2,] 0.9085603 1.1006424 1.357209
## [3,] 0.7368063 0.9085603 1.100642
dm15Cw1 <- rowMeans(dm15D1)/sum(rowMeans(dm15D1)) # 평균 가중치
dm15Cw1
## [1] 0.3313536 0.3682566 0.3003898
sum(dm15Cw1)
## [1] 1
dm15C2 <- array(NA,dim = c(n,n,3))
dm15C2[,,1] <- fuzzyComparisonMatrix2@fnMin
dm15C2[,,2] <- fuzzyComparisonMatrix2@fnModal
dm15C2[,,3] <- fuzzyComparisonMatrix2@fnMax

dm15D2 <- new.function(dm15C2)
dm15D2 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.9085603 1.1006424 1.3572088
## [2,] 2.0000000 2.4662121 2.8844991
## [3,] 0.3218298 0.3684031 0.4367902
dm15Cw2 <- rowMeans(dm15D2)/sum(rowMeans(dm15D2)) # 평균 가중치
dm15Cw2
## [1] 0.28422577 0.62061978 0.09515445
sum(dm15Cw2)
## [1] 1
dm15C3 <- array(NA,dim = c(n,n,3))
dm15C3[,,1] <- fuzzyComparisonMatrix3@fnMin
dm15C3[,,2] <- fuzzyComparisonMatrix3@fnModal
dm15C3[,,3] <- fuzzyComparisonMatrix3@fnMax

dm15D3 <- new.function(dm15C3)
dm15D3 # 퍼지점수 c(D1)으로 백터화
##           [,1]      [,2]      [,3]
## [1,] 0.6299605 0.8735805 1.1447142
## [2,] 2.0000000 2.4662121 2.8844991
## [3,] 0.3815714 0.4641589 0.6299605
dm15Cw3 <- rowMeans(dm15D3)/sum(rowMeans(dm15D3)) # 평균 가중치
dm15Cw3
## [1] 0.2307917 0.6406040 0.1286043
sum(dm15Cw3)
## [1] 1
print(c(dm15Cw0[1]*dm15Cw1, dm15Cw0[2]*dm15Cw2, dm15Cw0[3]*dm15Cw3))  ## dm15 최종 9개 기준의 글로벌 가중치
## [1] 0.121285834 0.134793475 0.109952124 0.025350748 0.055354501 0.008487043
## [7] 0.125729822 0.348985855 0.070060598
dm15wt1 <- c(dm15Cw0[1]*dm15Cw1, dm15Cw0[2]*dm15Cw2, dm15Cw0[3]*dm15Cw3)
sum(dm15wt1)
## [1] 1
dm15wt1
## [1] 0.121285834 0.134793475 0.109952124 0.025350748 0.055354501 0.008487043
## [7] 0.125729822 0.348985855 0.070060598

dm1, dm2, dm3, dm4, …, dm15의 전체 가중치 구하기

df_wt <- c(sum(c(dm1wt1[1], dm2wt1[1], dm3wt1[1], dm4wt1[1], dm5wt1[1]), dm6wt1[1], dm7wt1[1], dm8wt1[1], dm9wt1[1], dm10wt1[1], dm11wt1[1], dm12wt1[1], dm13wt1[1], dm14wt1[1], dm15wt1[1])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[2], dm2wt1[2], dm3wt1[2], dm4wt1[2], dm5wt1[2]), dm6wt1[2], dm7wt1[2], dm8wt1[2], dm9wt1[2], dm10wt1[2], dm11wt1[2], dm12wt1[2], dm13wt1[2], dm14wt1[2], dm15wt1[2])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[3], dm2wt1[3], dm3wt1[3], dm4wt1[3], dm5wt1[3]), dm6wt1[3], dm7wt1[3], dm8wt1[3], dm9wt1[3], dm10wt1[3], dm11wt1[3], dm12wt1[3], dm13wt1[3], dm14wt1[3], dm15wt1[3])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[4], dm2wt1[4], dm3wt1[4], dm4wt1[4], dm5wt1[4]), dm6wt1[4], dm7wt1[4], dm8wt1[4], dm9wt1[4], dm10wt1[4], dm11wt1[4], dm12wt1[4], dm13wt1[4], dm14wt1[4], dm15wt1[4])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[5], dm2wt1[5], dm3wt1[5], dm4wt1[5], dm5wt1[5]), dm6wt1[5], dm7wt1[5], dm8wt1[5], dm9wt1[5], dm10wt1[5], dm11wt1[5], dm12wt1[5], dm13wt1[5], dm14wt1[5], dm15wt1[5])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[6], dm2wt1[6], dm3wt1[6], dm4wt1[6], dm5wt1[6]), dm6wt1[6], dm7wt1[6], dm8wt1[6], dm9wt1[6], dm10wt1[6], dm11wt1[6], dm12wt1[6], dm13wt1[6], dm14wt1[6], dm15wt1[6])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[7], dm2wt1[7], dm3wt1[7], dm4wt1[7], dm5wt1[7]), dm6wt1[7], dm7wt1[7], dm8wt1[7], dm9wt1[7], dm10wt1[7], dm11wt1[7], dm12wt1[7], dm13wt1[7], dm14wt1[7], dm15wt1[7])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[8], dm2wt1[8], dm3wt1[8], dm4wt1[8], dm5wt1[8]), dm6wt1[8], dm7wt1[8], dm8wt1[8], dm9wt1[8], dm10wt1[8], dm11wt1[8], dm12wt1[8], dm13wt1[8], dm14wt1[8], dm15wt1[8])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)),
           sum(c(dm1wt1[9], dm2wt1[9], dm3wt1[9], dm4wt1[9], dm5wt1[9]), dm6wt1[9], dm7wt1[9], dm8wt1[9], dm9wt1[9], dm10wt1[9], dm11wt1[9], dm12wt1[9], dm13wt1[9], dm14wt1[9], dm15wt1[9])/sum(c(dm1wt1, dm2wt1, dm3wt1, dm4wt1, dm5wt1, dm6wt1, dm7wt1, dm8wt1, dm9wt1, dm10wt1, dm11wt1, dm12wt1, dm13wt1,dm14wt1, dm15wt1)))

df_wt  ## 전체 응답자의 기준에 대한 가중치
## [1] 0.17867681 0.37886737 0.09842533 0.06614640 0.02503396 0.01279814 0.08323160
## [8] 0.12024263 0.03657775
sum(df_wt)
## [1] 1

Fuzzy TOPSIS 분석

## 엑셀파일에 입력하기
library(readxl)

datalist<- list()

files = list.files(path = "./data2/", 
                   pattern = "*.xlsx", 
                   full.names = TRUE)

for (file in files) {
  data <- read_excel(file, col_names = FALSE, range = "B2:J8")
  datalist[[file]] <- data
}
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## New names:
## • `` -> `...1`
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
## • `` -> `...9`
names(datalist) <- gsub(".*/(.*)\\..*", "\\1", files)
datalist$al1
## # A tibble: 7 × 9
##    ...1  ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9
##   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1     5     5     5     4     5     3     3     3     3
## 2     3     3     4     5     4     4     4     4     4
## 3     3     3     3     5     4     4     4     4     4
## 4     3     4     3     4     3     3     4     4     3
## 5     4     4     4     5     4     4     4     5     5
## 6     2     1     2     3     1     1     3     5     5
## 7     5     5     5     4     5     3     3     4     3

Very Poor (VP) (0.0,0.0,0.3) Poor (P) (0.1,0.3,0.5) Medium (M) (0.3,0.5,0.7) Good (G) (0.5,0.7,0.9) Very Good (VG) (0.7,1.0,1.0)

## 응답자 1의 대안에 대한 평가

al1 <- as.matrix(datalist$al1)  
al1
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    5    5    5    4    5    3    3    3    3
## [2,]    3    3    4    5    4    4    4    4    4
## [3,]    3    3    3    5    4    4    4    4    4
## [4,]    3    4    3    4    3    3    4    4    3
## [5,]    4    4    4    5    4    4    4    5    5
## [6,]    2    1    2    3    1    1    3    5    5
## [7,]    5    5    5    4    5    3    3    4    3
number = length(al1)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al1)){
  for (j in 1:ncol(al1)){
  lv[i,j] <- ifelse (al1[i,j]==1, 0.0,
                        ifelse(al1[i,j] ==2, 0.1,
                          ifelse(al1[i,j] ==3, 0.3,
                            ifelse(al1[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.5  0.7  0.3  0.3  0.3  0.3
## [2,]  0.3  0.3  0.5  0.7  0.5  0.5  0.5  0.5  0.5
## [3,]  0.3  0.3  0.3  0.7  0.5  0.5  0.5  0.5  0.5
## [4,]  0.3  0.5  0.3  0.5  0.3  0.3  0.5  0.5  0.3
## [5,]  0.5  0.5  0.5  0.7  0.5  0.5  0.5  0.7  0.7
## [6,]  0.1  0.0  0.1  0.3  0.0  0.0  0.3  0.7  0.7
## [7,]  0.7  0.7  0.7  0.5  0.7  0.3  0.3  0.5  0.3
for (i in 1:nrow(al1)){
  for (j in 1:ncol(al1)){
  mv[i,j] <- ifelse (al1[i,j]==1, 0.0,
                        ifelse(al1[i,j] ==2, 0.3,
                          ifelse(al1[i,j] ==3, 0.5,
                            ifelse(al1[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  0.7  1.0  0.5  0.5  0.5  0.5
## [2,]  0.5  0.5  0.7  1.0  0.7  0.7  0.7  0.7  0.7
## [3,]  0.5  0.5  0.5  1.0  0.7  0.7  0.7  0.7  0.7
## [4,]  0.5  0.7  0.5  0.7  0.5  0.5  0.7  0.7  0.5
## [5,]  0.7  0.7  0.7  1.0  0.7  0.7  0.7  1.0  1.0
## [6,]  0.3  0.0  0.3  0.5  0.0  0.0  0.5  1.0  1.0
## [7,]  1.0  1.0  1.0  0.7  1.0  0.5  0.5  0.7  0.5
for (i in 1:nrow(al1)){
  for (j in 1:ncol(al1)){
  uv[i,j] <- ifelse (al1[i,j]==1, 0.3,
                        ifelse(al1[i,j] ==2, 0.5,
                          ifelse(al1[i,j] ==3, 0.7,
                            ifelse(al1[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  0.9  1.0  0.7  0.7  0.7  0.7
## [2,]  0.7  0.7  0.9  1.0  0.9  0.9  0.9  0.9  0.9
## [3,]  0.7  0.7  0.7  1.0  0.9  0.9  0.9  0.9  0.9
## [4,]  0.7  0.9  0.7  0.9  0.7  0.7  0.9  0.9  0.7
## [5,]  0.9  0.9  0.9  1.0  0.9  0.9  0.9  1.0  1.0
## [6,]  0.5  0.3  0.5  0.7  0.3  0.3  0.7  1.0  1.0
## [7,]  1.0  1.0  1.0  0.9  1.0  0.7  0.7  0.9  0.7
al1d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al1d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
## [2,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.7   1.0   1.0   0.5   0.7
## [3,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.7   1.0   1.0   0.5   0.7
## [4,]  0.3  0.5  0.7  0.5  0.7  0.9  0.3  0.5  0.7   0.5   0.7   0.9   0.3   0.5
## [5,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.7   1.0   1.0   0.5   0.7
## [6,]  0.1  0.3  0.5  0.0  0.0  0.3  0.1  0.3  0.5   0.3   0.5   0.7   0.0   0.0
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [2,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [3,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [4,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.3   0.5
## [5,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0
## [6,]   0.3   0.0   0.0   0.3   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0
## [7,]   1.0   0.3   0.5   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5
##      [,27]
## [1,]   0.7
## [2,]   0.9
## [3,]   0.9
## [4,]   0.7
## [5,]   1.0
## [6,]   1.0
## [7,]   0.7
## 응답자 1의 대안에 대한 평가

al2 <- as.matrix(datalist$al2)  
al2
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    4    2    4    3    3    3    4    4    1
## [2,]    3    3    4    3    3    3    4    4    1
## [3,]    3    3    4    3    3    3    4    4    1
## [4,]    3    4    3    3    3    3    4    4    1
## [5,]    3    3    3    3    3    3    4    4    1
## [6,]    3    1    1    3    3    3    5    5    1
## [7,]    5    5    5    5    5    5    5    5    5
number = length(al2)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al2)){
  for (j in 1:ncol(al2)){
  lv[i,j] <- ifelse (al2[i,j]==1, 0.0,
                        ifelse(al2[i,j] ==2, 0.1,
                          ifelse(al2[i,j] ==3, 0.3,
                            ifelse(al2[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.1  0.5  0.3  0.3  0.3  0.5  0.5  0.0
## [2,]  0.3  0.3  0.5  0.3  0.3  0.3  0.5  0.5  0.0
## [3,]  0.3  0.3  0.5  0.3  0.3  0.3  0.5  0.5  0.0
## [4,]  0.3  0.5  0.3  0.3  0.3  0.3  0.5  0.5  0.0
## [5,]  0.3  0.3  0.3  0.3  0.3  0.3  0.5  0.5  0.0
## [6,]  0.3  0.0  0.0  0.3  0.3  0.3  0.7  0.7  0.0
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al2)){
  for (j in 1:ncol(al2)){
  mv[i,j] <- ifelse (al2[i,j]==1, 0.0,
                        ifelse(al2[i,j] ==2, 0.3,
                          ifelse(al2[i,j] ==3, 0.5,
                            ifelse(al2[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.3  0.7  0.5  0.5  0.5  0.7  0.7    0
## [2,]  0.5  0.5  0.7  0.5  0.5  0.5  0.7  0.7    0
## [3,]  0.5  0.5  0.7  0.5  0.5  0.5  0.7  0.7    0
## [4,]  0.5  0.7  0.5  0.5  0.5  0.5  0.7  0.7    0
## [5,]  0.5  0.5  0.5  0.5  0.5  0.5  0.7  0.7    0
## [6,]  0.5  0.0  0.0  0.5  0.5  0.5  1.0  1.0    0
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1
for (i in 1:nrow(al2)){
  for (j in 1:ncol(al2)){
  uv[i,j] <- ifelse (al2[i,j]==1, 0.3,
                        ifelse(al2[i,j] ==2, 0.5,
                          ifelse(al2[i,j] ==3, 0.7,
                            ifelse(al2[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.9  0.5  0.9  0.7  0.7  0.7  0.9  0.9  0.3
## [2,]  0.7  0.7  0.9  0.7  0.7  0.7  0.9  0.9  0.3
## [3,]  0.7  0.7  0.9  0.7  0.7  0.7  0.9  0.9  0.3
## [4,]  0.7  0.9  0.7  0.7  0.7  0.7  0.9  0.9  0.3
## [5,]  0.7  0.7  0.7  0.7  0.7  0.7  0.9  0.9  0.3
## [6,]  0.7  0.3  0.3  0.7  0.7  0.7  1.0  1.0  0.3
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
al2d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al2d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.5  0.7  0.9  0.1  0.3  0.5  0.5  0.7  0.9   0.3   0.5   0.7   0.3   0.5
## [2,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.3   0.5   0.7   0.3   0.5
## [3,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.3   0.5   0.7   0.3   0.5
## [4,]  0.3  0.5  0.7  0.5  0.7  0.9  0.3  0.5  0.7   0.3   0.5   0.7   0.3   0.5
## [5,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.3   0.5   0.7   0.3   0.5
## [6,]  0.3  0.5  0.7  0.0  0.0  0.3  0.0  0.0  0.3   0.3   0.5   0.7   0.3   0.5
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.0     0
## [2,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.0     0
## [3,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.0     0
## [4,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.0     0
## [5,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.0     0
## [6,]   0.7   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.0     0
## [7,]   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7     1
##      [,27]
## [1,]   0.3
## [2,]   0.3
## [3,]   0.3
## [4,]   0.3
## [5,]   0.3
## [6,]   0.3
## [7,]   1.0
## 응답자 1의 대안에 대한 평가

al3 <- as.matrix(datalist$al3)  
al3
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    4    4    3    3    3    3    2    2
## [2,]    5    5    5    5    5    3    5    5    5
## [3,]    5    5    5    5    5    3    5    5    5
## [4,]    3    4    3    4    4    3    5    5    5
## [5,]    3    3    3    3    2    3    3    4    3
## [6,]    3    3    3    3    2    3    4    4    2
## [7,]    5    5    5    5    5    5    5    5    5
number = length(al3)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al3)){
  for (j in 1:ncol(al3)){
  lv[i,j] <- ifelse (al3[i,j]==1, 0.0,
                        ifelse(al3[i,j] ==2, 0.1,
                          ifelse(al3[i,j] ==3, 0.3,
                            ifelse(al3[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.5  0.5  0.3  0.3  0.3  0.3  0.1  0.1
## [2,]  0.7  0.7  0.7  0.7  0.7  0.3  0.7  0.7  0.7
## [3,]  0.7  0.7  0.7  0.7  0.7  0.3  0.7  0.7  0.7
## [4,]  0.3  0.5  0.3  0.5  0.5  0.3  0.7  0.7  0.7
## [5,]  0.3  0.3  0.3  0.3  0.1  0.3  0.3  0.5  0.3
## [6,]  0.3  0.3  0.3  0.3  0.1  0.3  0.5  0.5  0.1
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al3)){
  for (j in 1:ncol(al3)){
  mv[i,j] <- ifelse (al3[i,j]==1, 0.0,
                        ifelse(al3[i,j] ==2, 0.3,
                          ifelse(al3[i,j] ==3, 0.5,
                            ifelse(al3[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.7  0.7  0.5  0.5  0.5  0.5  0.3  0.3
## [2,]  1.0  1.0  1.0  1.0  1.0  0.5  1.0  1.0  1.0
## [3,]  1.0  1.0  1.0  1.0  1.0  0.5  1.0  1.0  1.0
## [4,]  0.5  0.7  0.5  0.7  0.7  0.5  1.0  1.0  1.0
## [5,]  0.5  0.5  0.5  0.5  0.3  0.5  0.5  0.7  0.5
## [6,]  0.5  0.5  0.5  0.5  0.3  0.5  0.7  0.7  0.3
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
for (i in 1:nrow(al3)){
  for (j in 1:ncol(al3)){
  uv[i,j] <- ifelse (al3[i,j]==1, 0.3,
                        ifelse(al3[i,j] ==2, 0.5,
                          ifelse(al3[i,j] ==3, 0.7,
                            ifelse(al3[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.9  0.9  0.7  0.7  0.7  0.7  0.5  0.5
## [2,]  1.0  1.0  1.0  1.0  1.0  0.7  1.0  1.0  1.0
## [3,]  1.0  1.0  1.0  1.0  1.0  0.7  1.0  1.0  1.0
## [4,]  0.7  0.9  0.7  0.9  0.9  0.7  1.0  1.0  1.0
## [5,]  0.7  0.7  0.7  0.7  0.5  0.7  0.7  0.9  0.7
## [6,]  0.7  0.7  0.7  0.7  0.5  0.7  0.9  0.9  0.5
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
al3d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al3d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.3   0.5
## [2,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [3,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [4,]  0.3  0.5  0.7  0.5  0.7  0.9  0.3  0.5  0.7   0.5   0.7   0.9   0.5   0.7
## [5,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.3   0.5   0.7   0.1   0.3
## [6,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.3   0.5   0.7   0.1   0.3
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.1   0.3   0.5   0.1   0.3
## [2,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [3,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [4,]   0.9   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [5,]   0.5   0.3   0.5   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5
## [6,]   0.5   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.1   0.3
## [7,]   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
##      [,27]
## [1,]   0.5
## [2,]   1.0
## [3,]   1.0
## [4,]   1.0
## [5,]   0.7
## [6,]   0.5
## [7,]   1.0
## 응답자 1의 대안에 대한 평가

al4 <- as.matrix(datalist$al4)  
al4
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    1    1    1    1    1    1    1    1    1
## [2,]    5    5    2    4    4    4    5    5    3
## [3,]    5    5    4    4    4    4    5    5    3
## [4,]    4    5    4    5    5    4    4    5    4
## [5,]    4    3    4    5    5    4    4    5    4
## [6,]    1    1    1    2    1    2    5    1    1
## [7,]    4    4    4    4    4    4    4    4    3
number = length(al4)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al4)){
  for (j in 1:ncol(al4)){
  lv[i,j] <- ifelse (al4[i,j]==1, 0.0,
                        ifelse(al4[i,j] ==2, 0.1,
                          ifelse(al4[i,j] ==3, 0.3,
                            ifelse(al4[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
## [2,]  0.7  0.7  0.1  0.5  0.5  0.5  0.7  0.7  0.3
## [3,]  0.7  0.7  0.5  0.5  0.5  0.5  0.7  0.7  0.3
## [4,]  0.5  0.7  0.5  0.7  0.7  0.5  0.5  0.7  0.5
## [5,]  0.5  0.3  0.5  0.7  0.7  0.5  0.5  0.7  0.5
## [6,]  0.0  0.0  0.0  0.1  0.0  0.1  0.7  0.0  0.0
## [7,]  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.3
for (i in 1:nrow(al4)){
  for (j in 1:ncol(al4)){
  mv[i,j] <- ifelse (al4[i,j]==1, 0.0,
                        ifelse(al4[i,j] ==2, 0.3,
                          ifelse(al4[i,j] ==3, 0.5,
                            ifelse(al4[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
## [2,]  1.0  1.0  0.3  0.7  0.7  0.7  1.0  1.0  0.5
## [3,]  1.0  1.0  0.7  0.7  0.7  0.7  1.0  1.0  0.5
## [4,]  0.7  1.0  0.7  1.0  1.0  0.7  0.7  1.0  0.7
## [5,]  0.7  0.5  0.7  1.0  1.0  0.7  0.7  1.0  0.7
## [6,]  0.0  0.0  0.0  0.3  0.0  0.3  1.0  0.0  0.0
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.5
for (i in 1:nrow(al4)){
  for (j in 1:ncol(al4)){
  uv[i,j] <- ifelse (al4[i,j]==1, 0.3,
                        ifelse(al4[i,j] ==2, 0.5,
                          ifelse(al4[i,j] ==3, 0.7,
                            ifelse(al4[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.3
## [2,]  1.0  1.0  0.5  0.9  0.9  0.9  1.0  1.0  0.7
## [3,]  1.0  1.0  0.9  0.9  0.9  0.9  1.0  1.0  0.7
## [4,]  0.9  1.0  0.9  1.0  1.0  0.9  0.9  1.0  0.9
## [5,]  0.9  0.7  0.9  1.0  1.0  0.9  0.9  1.0  0.9
## [6,]  0.3  0.3  0.3  0.5  0.3  0.5  1.0  0.3  0.3
## [7,]  0.9  0.9  0.9  0.9  0.9  0.9  0.9  0.9  0.7
al4d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al4d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.0  0.0  0.3  0.0  0.0  0.3  0.0  0.0  0.3   0.0   0.0   0.3   0.0   0.0
## [2,]  0.7  1.0  1.0  0.7  1.0  1.0  0.1  0.3  0.5   0.5   0.7   0.9   0.5   0.7
## [3,]  0.7  1.0  1.0  0.7  1.0  1.0  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [4,]  0.5  0.7  0.9  0.7  1.0  1.0  0.5  0.7  0.9   0.7   1.0   1.0   0.7   1.0
## [5,]  0.5  0.7  0.9  0.3  0.5  0.7  0.5  0.7  0.9   0.7   1.0   1.0   0.7   1.0
## [6,]  0.0  0.0  0.3  0.0  0.0  0.3  0.0  0.0  0.3   0.1   0.3   0.5   0.0   0.0
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.3   0.0   0.0   0.3   0.0   0.0   0.3   0.0   0.0   0.3   0.0   0.0
## [2,]   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0   1.0   0.3   0.5
## [3,]   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0   1.0   0.3   0.5
## [4,]   1.0   0.5   0.7   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.5   0.7
## [5,]   1.0   0.5   0.7   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.5   0.7
## [6,]   0.3   0.1   0.3   0.5   0.7   1.0   1.0   0.0   0.0   0.3   0.0   0.0
## [7,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.3   0.5
##      [,27]
## [1,]   0.3
## [2,]   0.7
## [3,]   0.7
## [4,]   0.9
## [5,]   0.9
## [6,]   0.3
## [7,]   0.7
## 응답자 1의 대안에 대한 평가

al5 <- as.matrix(datalist$al5)  
al5
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    3    3    4    4    4    3    4    4
## [2,]    4    4    3    2    2    2    5    5    5
## [3,]    4    4    3    3    2    2    5    5    5
## [4,]    4    5    3    5    5    3    5    5    5
## [5,]    3    3    4    4    3    2    5    5    3
## [6,]    2    2    2    4    2    4    5    5    2
## [7,]    5    5    5    5    5    5    5    5    5
number = length(al5)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al5)){
  for (j in 1:ncol(al5)){
  lv[i,j] <- ifelse (al5[i,j]==1, 0.0,
                        ifelse(al5[i,j] ==2, 0.1,
                          ifelse(al5[i,j] ==3, 0.3,
                            ifelse(al5[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.3  0.3  0.5  0.5  0.5  0.3  0.5  0.5
## [2,]  0.5  0.5  0.3  0.1  0.1  0.1  0.7  0.7  0.7
## [3,]  0.5  0.5  0.3  0.3  0.1  0.1  0.7  0.7  0.7
## [4,]  0.5  0.7  0.3  0.7  0.7  0.3  0.7  0.7  0.7
## [5,]  0.3  0.3  0.5  0.5  0.3  0.1  0.7  0.7  0.3
## [6,]  0.1  0.1  0.1  0.5  0.1  0.5  0.7  0.7  0.1
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al5)){
  for (j in 1:ncol(al5)){
  mv[i,j] <- ifelse (al5[i,j]==1, 0.0,
                        ifelse(al5[i,j] ==2, 0.3,
                          ifelse(al5[i,j] ==3, 0.5,
                            ifelse(al5[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.5  0.5  0.7  0.7  0.7  0.5  0.7  0.7
## [2,]  0.7  0.7  0.5  0.3  0.3  0.3  1.0  1.0  1.0
## [3,]  0.7  0.7  0.5  0.5  0.3  0.3  1.0  1.0  1.0
## [4,]  0.7  1.0  0.5  1.0  1.0  0.5  1.0  1.0  1.0
## [5,]  0.5  0.5  0.7  0.7  0.5  0.3  1.0  1.0  0.5
## [6,]  0.3  0.3  0.3  0.7  0.3  0.7  1.0  1.0  0.3
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
for (i in 1:nrow(al5)){
  for (j in 1:ncol(al5)){
  uv[i,j] <- ifelse (al5[i,j]==1, 0.3,
                        ifelse(al5[i,j] ==2, 0.5,
                          ifelse(al5[i,j] ==3, 0.7,
                            ifelse(al5[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.9  0.9  0.9  0.7  0.9  0.9
## [2,]  0.9  0.9  0.7  0.5  0.5  0.5  1.0  1.0  1.0
## [3,]  0.9  0.9  0.7  0.7  0.5  0.5  1.0  1.0  1.0
## [4,]  0.9  1.0  0.7  1.0  1.0  0.7  1.0  1.0  1.0
## [5,]  0.7  0.7  0.9  0.9  0.7  0.5  1.0  1.0  0.7
## [6,]  0.5  0.5  0.5  0.9  0.5  0.9  1.0  1.0  0.5
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
al5d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al5d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.5   0.7   0.9   0.5   0.7
## [2,]  0.5  0.7  0.9  0.5  0.7  0.9  0.3  0.5  0.7   0.1   0.3   0.5   0.1   0.3
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.3  0.5  0.7   0.3   0.5   0.7   0.1   0.3
## [4,]  0.5  0.7  0.9  0.7  1.0  1.0  0.3  0.5  0.7   0.7   1.0   1.0   0.7   1.0
## [5,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.5   0.7   0.9   0.3   0.5
## [6,]  0.1  0.3  0.5  0.1  0.3  0.5  0.1  0.3  0.5   0.5   0.7   0.9   0.1   0.3
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.9   0.5   0.7   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7
## [2,]   0.5   0.1   0.3   0.5   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [3,]   0.5   0.1   0.3   0.5   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [4,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [5,]   0.7   0.1   0.3   0.5   0.7   1.0   1.0   0.7   1.0   1.0   0.3   0.5
## [6,]   0.5   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0   1.0   0.1   0.3
## [7,]   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
##      [,27]
## [1,]   0.9
## [2,]   1.0
## [3,]   1.0
## [4,]   1.0
## [5,]   0.7
## [6,]   0.5
## [7,]   1.0
## 응답자 1의 대안에 대한 평가

al6 <- as.matrix(datalist$al6)  
al6
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    4    4    4    4    4    3    3    3    3
## [2,]    4    4    4    4    4    3    3    3    3
## [3,]    4    4    4    4    4    3    3    3    3
## [4,]    4    4    4    4    4    3    3    4    4
## [5,]    3    3    3    3    3    2    3    4    4
## [6,]    2    2    2    2    2    2    5    3    3
## [7,]    4    4    4    4    4    3    5    3    3
number = length(al6)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al6)){
  for (j in 1:ncol(al6)){
  lv[i,j] <- ifelse (al6[i,j]==1, 0.0,
                        ifelse(al6[i,j] ==2, 0.1,
                          ifelse(al6[i,j] ==3, 0.3,
                            ifelse(al6[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.5  0.5  0.5  0.5  0.3  0.3  0.3  0.3
## [2,]  0.5  0.5  0.5  0.5  0.5  0.3  0.3  0.3  0.3
## [3,]  0.5  0.5  0.5  0.5  0.5  0.3  0.3  0.3  0.3
## [4,]  0.5  0.5  0.5  0.5  0.5  0.3  0.3  0.5  0.5
## [5,]  0.3  0.3  0.3  0.3  0.3  0.1  0.3  0.5  0.5
## [6,]  0.1  0.1  0.1  0.1  0.1  0.1  0.7  0.3  0.3
## [7,]  0.5  0.5  0.5  0.5  0.5  0.3  0.7  0.3  0.3
for (i in 1:nrow(al6)){
  for (j in 1:ncol(al6)){
  mv[i,j] <- ifelse (al6[i,j]==1, 0.0,
                        ifelse(al6[i,j] ==2, 0.3,
                          ifelse(al6[i,j] ==3, 0.5,
                            ifelse(al6[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.7  0.7  0.5  0.5  0.5  0.5
## [2,]  0.7  0.7  0.7  0.7  0.7  0.5  0.5  0.5  0.5
## [3,]  0.7  0.7  0.7  0.7  0.7  0.5  0.5  0.5  0.5
## [4,]  0.7  0.7  0.7  0.7  0.7  0.5  0.5  0.7  0.7
## [5,]  0.5  0.5  0.5  0.5  0.5  0.3  0.5  0.7  0.7
## [6,]  0.3  0.3  0.3  0.3  0.3  0.3  1.0  0.5  0.5
## [7,]  0.7  0.7  0.7  0.7  0.7  0.5  1.0  0.5  0.5
for (i in 1:nrow(al6)){
  for (j in 1:ncol(al6)){
  uv[i,j] <- ifelse (al6[i,j]==1, 0.3,
                        ifelse(al6[i,j] ==2, 0.5,
                          ifelse(al6[i,j] ==3, 0.7,
                            ifelse(al6[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.9  0.9  0.9  0.9  0.9  0.7  0.7  0.7  0.7
## [2,]  0.9  0.9  0.9  0.9  0.9  0.7  0.7  0.7  0.7
## [3,]  0.9  0.9  0.9  0.9  0.9  0.7  0.7  0.7  0.7
## [4,]  0.9  0.9  0.9  0.9  0.9  0.7  0.7  0.9  0.9
## [5,]  0.7  0.7  0.7  0.7  0.7  0.5  0.7  0.9  0.9
## [6,]  0.5  0.5  0.5  0.5  0.5  0.5  1.0  0.7  0.7
## [7,]  0.9  0.9  0.9  0.9  0.9  0.7  1.0  0.7  0.7
al6d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al6d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [2,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [4,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [5,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.3   0.5   0.7   0.3   0.5
## [6,]  0.1  0.3  0.5  0.1  0.3  0.5  0.1  0.3  0.5   0.1   0.3   0.5   0.1   0.3
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [2,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [3,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [4,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7
## [5,]   0.7   0.1   0.3   0.5   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7
## [6,]   0.5   0.1   0.3   0.5   0.7   1.0   1.0   0.3   0.5   0.7   0.3   0.5
## [7,]   0.9   0.3   0.5   0.7   0.7   1.0   1.0   0.3   0.5   0.7   0.3   0.5
##      [,27]
## [1,]   0.7
## [2,]   0.7
## [3,]   0.7
## [4,]   0.9
## [5,]   0.9
## [6,]   0.7
## [7,]   0.7
## 응답자 1의 대안에 대한 평가

al7 <- as.matrix(datalist$al7)  
al7
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    3    3    3    4    4    3    2    3
## [2,]    2    2    2    3    3    3    4    2    4
## [3,]    4    4    4    3    4    3    4    2    4
## [4,]    4    4    4    3    4    3    4    4    4
## [5,]    2    1    4    3    3    3    4    4    4
## [6,]    1    1    1    3    2    2    4    4    2
## [7,]    4    4    4    3    4    4    4    4    4
number = length(al7)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al7)){
  for (j in 1:ncol(al7)){
  lv[i,j] <- ifelse (al7[i,j]==1, 0.0,
                        ifelse(al7[i,j] ==2, 0.1,
                          ifelse(al7[i,j] ==3, 0.3,
                            ifelse(al7[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.3  0.3  0.3  0.5  0.5  0.3  0.1  0.3
## [2,]  0.1  0.1  0.1  0.3  0.3  0.3  0.5  0.1  0.5
## [3,]  0.5  0.5  0.5  0.3  0.5  0.3  0.5  0.1  0.5
## [4,]  0.5  0.5  0.5  0.3  0.5  0.3  0.5  0.5  0.5
## [5,]  0.1  0.0  0.5  0.3  0.3  0.3  0.5  0.5  0.5
## [6,]  0.0  0.0  0.0  0.3  0.1  0.1  0.5  0.5  0.1
## [7,]  0.5  0.5  0.5  0.3  0.5  0.5  0.5  0.5  0.5
for (i in 1:nrow(al7)){
  for (j in 1:ncol(al7)){
  mv[i,j] <- ifelse (al7[i,j]==1, 0.0,
                        ifelse(al7[i,j] ==2, 0.3,
                          ifelse(al7[i,j] ==3, 0.5,
                            ifelse(al7[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.5  0.5  0.5  0.7  0.7  0.5  0.3  0.5
## [2,]  0.3  0.3  0.3  0.5  0.5  0.5  0.7  0.3  0.7
## [3,]  0.7  0.7  0.7  0.5  0.7  0.5  0.7  0.3  0.7
## [4,]  0.7  0.7  0.7  0.5  0.7  0.5  0.7  0.7  0.7
## [5,]  0.3  0.0  0.7  0.5  0.5  0.5  0.7  0.7  0.7
## [6,]  0.0  0.0  0.0  0.5  0.3  0.3  0.7  0.7  0.3
## [7,]  0.7  0.7  0.7  0.5  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al7)){
  for (j in 1:ncol(al7)){
  uv[i,j] <- ifelse (al7[i,j]==1, 0.3,
                        ifelse(al7[i,j] ==2, 0.5,
                          ifelse(al7[i,j] ==3, 0.7,
                            ifelse(al7[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.7  0.9  0.9  0.7  0.5  0.7
## [2,]  0.5  0.5  0.5  0.7  0.7  0.7  0.9  0.5  0.9
## [3,]  0.9  0.9  0.9  0.7  0.9  0.7  0.9  0.5  0.9
## [4,]  0.9  0.9  0.9  0.7  0.9  0.7  0.9  0.9  0.9
## [5,]  0.5  0.3  0.9  0.7  0.7  0.7  0.9  0.9  0.9
## [6,]  0.3  0.3  0.3  0.7  0.5  0.5  0.9  0.9  0.5
## [7,]  0.9  0.9  0.9  0.7  0.9  0.9  0.9  0.9  0.9
al7d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al7d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.3   0.5   0.7   0.5   0.7
## [2,]  0.1  0.3  0.5  0.1  0.3  0.5  0.1  0.3  0.5   0.3   0.5   0.7   0.3   0.5
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [4,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [5,]  0.1  0.3  0.5  0.0  0.0  0.3  0.5  0.7  0.9   0.3   0.5   0.7   0.3   0.5
## [6,]  0.0  0.0  0.3  0.0  0.0  0.3  0.0  0.0  0.3   0.3   0.5   0.7   0.1   0.3
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.9   0.5   0.7   0.9   0.3   0.5   0.7   0.1   0.3   0.5   0.3   0.5
## [2,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.1   0.3   0.5   0.5   0.7
## [3,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.1   0.3   0.5   0.5   0.7
## [4,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [5,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [6,]   0.5   0.1   0.3   0.5   0.5   0.7   0.9   0.5   0.7   0.9   0.1   0.3
## [7,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
##      [,27]
## [1,]   0.7
## [2,]   0.9
## [3,]   0.9
## [4,]   0.9
## [5,]   0.9
## [6,]   0.5
## [7,]   0.9
## 응답자 1의 대안에 대한 평가

al8 <- as.matrix(datalist$al8)  
al8
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    4    4    4    2    4    3    3    2    3
## [2,]    4    4    4    4    4    3    4    3    3
## [3,]    4    4    4    4    4    3    4    3    3
## [4,]    4    5    4    4    4    3    4    5    4
## [5,]    3    4    4    4    4    3    4    5    2
## [6,]    2    1    1    2    1    4    5    3    1
## [7,]    4    4    4    4    4    4    5    3    4
number = length(al8)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al8)){
  for (j in 1:ncol(al8)){
  lv[i,j] <- ifelse (al8[i,j]==1, 0.0,
                        ifelse(al8[i,j] ==2, 0.1,
                          ifelse(al8[i,j] ==3, 0.3,
                            ifelse(al8[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.5  0.5  0.1  0.5  0.3  0.3  0.1  0.3
## [2,]  0.5  0.5  0.5  0.5  0.5  0.3  0.5  0.3  0.3
## [3,]  0.5  0.5  0.5  0.5  0.5  0.3  0.5  0.3  0.3
## [4,]  0.5  0.7  0.5  0.5  0.5  0.3  0.5  0.7  0.5
## [5,]  0.3  0.5  0.5  0.5  0.5  0.3  0.5  0.7  0.1
## [6,]  0.1  0.0  0.0  0.1  0.0  0.5  0.7  0.3  0.0
## [7,]  0.5  0.5  0.5  0.5  0.5  0.5  0.7  0.3  0.5
for (i in 1:nrow(al8)){
  for (j in 1:ncol(al8)){
  mv[i,j] <- ifelse (al8[i,j]==1, 0.0,
                        ifelse(al8[i,j] ==2, 0.3,
                          ifelse(al8[i,j] ==3, 0.5,
                            ifelse(al8[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.3  0.7  0.5  0.5  0.3  0.5
## [2,]  0.7  0.7  0.7  0.7  0.7  0.5  0.7  0.5  0.5
## [3,]  0.7  0.7  0.7  0.7  0.7  0.5  0.7  0.5  0.5
## [4,]  0.7  1.0  0.7  0.7  0.7  0.5  0.7  1.0  0.7
## [5,]  0.5  0.7  0.7  0.7  0.7  0.5  0.7  1.0  0.3
## [6,]  0.3  0.0  0.0  0.3  0.0  0.7  1.0  0.5  0.0
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  1.0  0.5  0.7
for (i in 1:nrow(al8)){
  for (j in 1:ncol(al8)){
  uv[i,j] <- ifelse (al8[i,j]==1, 0.3,
                        ifelse(al8[i,j] ==2, 0.5,
                          ifelse(al8[i,j] ==3, 0.7,
                            ifelse(al8[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.9  0.9  0.9  0.5  0.9  0.7  0.7  0.5  0.7
## [2,]  0.9  0.9  0.9  0.9  0.9  0.7  0.9  0.7  0.7
## [3,]  0.9  0.9  0.9  0.9  0.9  0.7  0.9  0.7  0.7
## [4,]  0.9  1.0  0.9  0.9  0.9  0.7  0.9  1.0  0.9
## [5,]  0.7  0.9  0.9  0.9  0.9  0.7  0.9  1.0  0.5
## [6,]  0.5  0.3  0.3  0.5  0.3  0.9  1.0  0.7  0.3
## [7,]  0.9  0.9  0.9  0.9  0.9  0.9  1.0  0.7  0.9
al8d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al8d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.1   0.3   0.5   0.5   0.7
## [2,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [4,]  0.5  0.7  0.9  0.7  1.0  1.0  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [5,]  0.3  0.5  0.7  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [6,]  0.1  0.3  0.5  0.0  0.0  0.3  0.0  0.0  0.3   0.1   0.3   0.5   0.0   0.0
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.1   0.3   0.5   0.3   0.5
## [2,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5   0.7   0.3   0.5
## [3,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5   0.7   0.3   0.5
## [4,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.7   1.0   1.0   0.5   0.7
## [5,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.7   1.0   1.0   0.1   0.3
## [6,]   0.3   0.5   0.7   0.9   0.7   1.0   1.0   0.3   0.5   0.7   0.0   0.0
## [7,]   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.3   0.5   0.7   0.5   0.7
##      [,27]
## [1,]   0.7
## [2,]   0.7
## [3,]   0.7
## [4,]   0.9
## [5,]   0.5
## [6,]   0.3
## [7,]   0.9
## 응답자 1의 대안에 대한 평가

al9 <- as.matrix(datalist$al9)  
al9
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    5    5    5    5    5    3    3    2    1
## [2,]    4    4    5    3    3    3    5    4    3
## [3,]    4    4    5    3    3    3    5    4    3
## [4,]    5    4    4    4    5    3    5    5    2
## [5,]    3    1    4    4    4    3    5    5    2
## [6,]    1    1    1    3    1    1    5    4    2
## [7,]    5    5    5    3    3    4    5    5    4
number = length(al9)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al9)){
  for (j in 1:ncol(al9)){
  lv[i,j] <- ifelse (al9[i,j]==1, 0.0,
                        ifelse(al9[i,j] ==2, 0.1,
                          ifelse(al9[i,j] ==3, 0.3,
                            ifelse(al9[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.7  0.7  0.3  0.3  0.1  0.0
## [2,]  0.5  0.5  0.7  0.3  0.3  0.3  0.7  0.5  0.3
## [3,]  0.5  0.5  0.7  0.3  0.3  0.3  0.7  0.5  0.3
## [4,]  0.7  0.5  0.5  0.5  0.7  0.3  0.7  0.7  0.1
## [5,]  0.3  0.0  0.5  0.5  0.5  0.3  0.7  0.7  0.1
## [6,]  0.0  0.0  0.0  0.3  0.0  0.0  0.7  0.5  0.1
## [7,]  0.7  0.7  0.7  0.3  0.3  0.5  0.7  0.7  0.5
for (i in 1:nrow(al9)){
  for (j in 1:ncol(al9)){
  mv[i,j] <- ifelse (al9[i,j]==1, 0.0,
                        ifelse(al9[i,j] ==2, 0.3,
                          ifelse(al9[i,j] ==3, 0.5,
                            ifelse(al9[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  1.0  1.0  0.5  0.5  0.3  0.0
## [2,]  0.7  0.7  1.0  0.5  0.5  0.5  1.0  0.7  0.5
## [3,]  0.7  0.7  1.0  0.5  0.5  0.5  1.0  0.7  0.5
## [4,]  1.0  0.7  0.7  0.7  1.0  0.5  1.0  1.0  0.3
## [5,]  0.5  0.0  0.7  0.7  0.7  0.5  1.0  1.0  0.3
## [6,]  0.0  0.0  0.0  0.5  0.0  0.0  1.0  0.7  0.3
## [7,]  1.0  1.0  1.0  0.5  0.5  0.7  1.0  1.0  0.7
for (i in 1:nrow(al9)){
  for (j in 1:ncol(al9)){
  uv[i,j] <- ifelse (al9[i,j]==1, 0.3,
                        ifelse(al9[i,j] ==2, 0.5,
                          ifelse(al9[i,j] ==3, 0.7,
                            ifelse(al9[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  1.0  1.0  0.7  0.7  0.5  0.3
## [2,]  0.9  0.9  1.0  0.7  0.7  0.7  1.0  0.9  0.7
## [3,]  0.9  0.9  1.0  0.7  0.7  0.7  1.0  0.9  0.7
## [4,]  1.0  0.9  0.9  0.9  1.0  0.7  1.0  1.0  0.5
## [5,]  0.7  0.3  0.9  0.9  0.9  0.7  1.0  1.0  0.5
## [6,]  0.3  0.3  0.3  0.7  0.3  0.3  1.0  0.9  0.5
## [7,]  1.0  1.0  1.0  0.7  0.7  0.9  1.0  1.0  0.9
al9d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al9d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [2,]  0.5  0.7  0.9  0.5  0.7  0.9  0.7  1.0  1.0   0.3   0.5   0.7   0.3   0.5
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.7  1.0  1.0   0.3   0.5   0.7   0.3   0.5
## [4,]  0.7  1.0  1.0  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.7   1.0
## [5,]  0.3  0.5  0.7  0.0  0.0  0.3  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [6,]  0.0  0.0  0.3  0.0  0.0  0.3  0.0  0.0  0.3   0.3   0.5   0.7   0.0   0.0
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.3   0.5   0.7   0.3   0.5
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.3   0.5   0.7   0.3   0.5   0.7   0.1   0.3   0.5   0.0   0.0
## [2,]   0.7   0.3   0.5   0.7   0.7   1.0   1.0   0.5   0.7   0.9   0.3   0.5
## [3,]   0.7   0.3   0.5   0.7   0.7   1.0   1.0   0.5   0.7   0.9   0.3   0.5
## [4,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.1   0.3
## [5,]   0.9   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.1   0.3
## [6,]   0.3   0.0   0.0   0.3   0.7   1.0   1.0   0.5   0.7   0.9   0.1   0.3
## [7,]   0.7   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0   1.0   0.5   0.7
##      [,27]
## [1,]   0.3
## [2,]   0.7
## [3,]   0.7
## [4,]   0.5
## [5,]   0.5
## [6,]   0.5
## [7,]   0.9
## 응답자 1의 대안에 대한 평가

al10 <- as.matrix(datalist$al10)  
al10
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    2    4    4    5    5    1    5    1
## [2,]    5    4    5    4    4    1    1    5    1
## [3,]    4    4    5    4    4    1    1    5    1
## [4,]    4    5    2    4    5    1    5    5    2
## [5,]    2    2    2    4    1    1    5    5    2
## [6,]    2    3    4    4    1    1    5    5    1
## [7,]    5    5    5    5    5    5    5    5    4
number = length(al10)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al10)){
  for (j in 1:ncol(al10)){
  lv[i,j] <- ifelse (al10[i,j]==1, 0.0,
                        ifelse(al10[i,j] ==2, 0.1,
                          ifelse(al10[i,j] ==3, 0.3,
                            ifelse(al10[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.1  0.5  0.5  0.7  0.7  0.0  0.7  0.0
## [2,]  0.7  0.5  0.7  0.5  0.5  0.0  0.0  0.7  0.0
## [3,]  0.5  0.5  0.7  0.5  0.5  0.0  0.0  0.7  0.0
## [4,]  0.5  0.7  0.1  0.5  0.7  0.0  0.7  0.7  0.1
## [5,]  0.1  0.1  0.1  0.5  0.0  0.0  0.7  0.7  0.1
## [6,]  0.1  0.3  0.5  0.5  0.0  0.0  0.7  0.7  0.0
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.5
for (i in 1:nrow(al10)){
  for (j in 1:ncol(al10)){
  mv[i,j] <- ifelse (al10[i,j]==1, 0.0,
                        ifelse(al10[i,j] ==2, 0.3,
                          ifelse(al10[i,j] ==3, 0.5,
                            ifelse(al10[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.3  0.7  0.7  1.0    1    0    1  0.0
## [2,]  1.0  0.7  1.0  0.7  0.7    0    0    1  0.0
## [3,]  0.7  0.7  1.0  0.7  0.7    0    0    1  0.0
## [4,]  0.7  1.0  0.3  0.7  1.0    0    1    1  0.3
## [5,]  0.3  0.3  0.3  0.7  0.0    0    1    1  0.3
## [6,]  0.3  0.5  0.7  0.7  0.0    0    1    1  0.0
## [7,]  1.0  1.0  1.0  1.0  1.0    1    1    1  0.7
for (i in 1:nrow(al10)){
  for (j in 1:ncol(al10)){
  uv[i,j] <- ifelse (al10[i,j]==1, 0.3,
                        ifelse(al10[i,j] ==2, 0.5,
                          ifelse(al10[i,j] ==3, 0.7,
                            ifelse(al10[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.5  0.9  0.9  1.0  1.0  0.3    1  0.3
## [2,]  1.0  0.9  1.0  0.9  0.9  0.3  0.3    1  0.3
## [3,]  0.9  0.9  1.0  0.9  0.9  0.3  0.3    1  0.3
## [4,]  0.9  1.0  0.5  0.9  1.0  0.3  1.0    1  0.5
## [5,]  0.5  0.5  0.5  0.9  0.3  0.3  1.0    1  0.5
## [6,]  0.5  0.7  0.9  0.9  0.3  0.3  1.0    1  0.3
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1  0.9
al10d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al10d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.1  0.3  0.5  0.5  0.7  0.9   0.5   0.7   0.9   0.7   1.0
## [2,]  0.7  1.0  1.0  0.5  0.7  0.9  0.7  1.0  1.0   0.5   0.7   0.9   0.5   0.7
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.7  1.0  1.0   0.5   0.7   0.9   0.5   0.7
## [4,]  0.5  0.7  0.9  0.7  1.0  1.0  0.1  0.3  0.5   0.5   0.7   0.9   0.7   1.0
## [5,]  0.1  0.3  0.5  0.1  0.3  0.5  0.1  0.3  0.5   0.5   0.7   0.9   0.0   0.0
## [6,]  0.1  0.3  0.5  0.3  0.5  0.7  0.5  0.7  0.9   0.5   0.7   0.9   0.0   0.0
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.7     1   1.0   0.0     0   0.3   0.7     1     1   0.0   0.0
## [2,]   0.9   0.0     0   0.3   0.0     0   0.3   0.7     1     1   0.0   0.0
## [3,]   0.9   0.0     0   0.3   0.0     0   0.3   0.7     1     1   0.0   0.0
## [4,]   1.0   0.0     0   0.3   0.7     1   1.0   0.7     1     1   0.1   0.3
## [5,]   0.3   0.0     0   0.3   0.7     1   1.0   0.7     1     1   0.1   0.3
## [6,]   0.3   0.0     0   0.3   0.7     1   1.0   0.7     1     1   0.0   0.0
## [7,]   1.0   0.7     1   1.0   0.7     1   1.0   0.7     1     1   0.5   0.7
##      [,27]
## [1,]   0.3
## [2,]   0.3
## [3,]   0.3
## [4,]   0.5
## [5,]   0.5
## [6,]   0.3
## [7,]   0.9
## 응답자 1의 대안에 대한 평가

al11 <- as.matrix(datalist$al11)  
al11
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    5    4    5    5    5    3    4    4    2
## [2,]    3    2    3    3    5    3    4    4    2
## [3,]    4    3    4    3    5    3    4    5    2
## [4,]    5    4    5    5    5    3    5    5    2
## [5,]    4    3    4    4    5    3    4    4    2
## [6,]    2    2    3    2    3    2    2    4    1
## [7,]    5    4    5    5    5    5    4    5    3
number = length(al11)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al11)){
  for (j in 1:ncol(al11)){
  lv[i,j] <- ifelse (al11[i,j]==1, 0.0,
                        ifelse(al11[i,j] ==2, 0.1,
                          ifelse(al11[i,j] ==3, 0.3,
                            ifelse(al11[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.5  0.7  0.7  0.7  0.3  0.5  0.5  0.1
## [2,]  0.3  0.1  0.3  0.3  0.7  0.3  0.5  0.5  0.1
## [3,]  0.5  0.3  0.5  0.3  0.7  0.3  0.5  0.7  0.1
## [4,]  0.7  0.5  0.7  0.7  0.7  0.3  0.7  0.7  0.1
## [5,]  0.5  0.3  0.5  0.5  0.7  0.3  0.5  0.5  0.1
## [6,]  0.1  0.1  0.3  0.1  0.3  0.1  0.1  0.5  0.0
## [7,]  0.7  0.5  0.7  0.7  0.7  0.7  0.5  0.7  0.3
for (i in 1:nrow(al11)){
  for (j in 1:ncol(al11)){
  mv[i,j] <- ifelse (al11[i,j]==1, 0.0,
                        ifelse(al11[i,j] ==2, 0.3,
                          ifelse(al11[i,j] ==3, 0.5,
                            ifelse(al11[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  0.7  1.0  1.0  1.0  0.5  0.7  0.7  0.3
## [2,]  0.5  0.3  0.5  0.5  1.0  0.5  0.7  0.7  0.3
## [3,]  0.7  0.5  0.7  0.5  1.0  0.5  0.7  1.0  0.3
## [4,]  1.0  0.7  1.0  1.0  1.0  0.5  1.0  1.0  0.3
## [5,]  0.7  0.5  0.7  0.7  1.0  0.5  0.7  0.7  0.3
## [6,]  0.3  0.3  0.5  0.3  0.5  0.3  0.3  0.7  0.0
## [7,]  1.0  0.7  1.0  1.0  1.0  1.0  0.7  1.0  0.5
for (i in 1:nrow(al11)){
  for (j in 1:ncol(al11)){
  uv[i,j] <- ifelse (al11[i,j]==1, 0.3,
                        ifelse(al11[i,j] ==2, 0.5,
                          ifelse(al11[i,j] ==3, 0.7,
                            ifelse(al11[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  0.9  1.0  1.0  1.0  0.7  0.9  0.9  0.5
## [2,]  0.7  0.5  0.7  0.7  1.0  0.7  0.9  0.9  0.5
## [3,]  0.9  0.7  0.9  0.7  1.0  0.7  0.9  1.0  0.5
## [4,]  1.0  0.9  1.0  1.0  1.0  0.7  1.0  1.0  0.5
## [5,]  0.9  0.7  0.9  0.9  1.0  0.7  0.9  0.9  0.5
## [6,]  0.5  0.5  0.7  0.5  0.7  0.5  0.5  0.9  0.3
## [7,]  1.0  0.9  1.0  1.0  1.0  1.0  0.9  1.0  0.7
al11d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al11d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.5  0.7  0.9  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [2,]  0.3  0.5  0.7  0.1  0.3  0.5  0.3  0.5  0.7   0.3   0.5   0.7   0.7   1.0
## [3,]  0.5  0.7  0.9  0.3  0.5  0.7  0.5  0.7  0.9   0.3   0.5   0.7   0.7   1.0
## [4,]  0.7  1.0  1.0  0.5  0.7  0.9  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [5,]  0.5  0.7  0.9  0.3  0.5  0.7  0.5  0.7  0.9   0.5   0.7   0.9   0.7   1.0
## [6,]  0.1  0.3  0.5  0.1  0.3  0.5  0.3  0.5  0.7   0.1   0.3   0.5   0.3   0.5
## [7,]  0.7  1.0  1.0  0.5  0.7  0.9  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.1   0.3
## [2,]   1.0   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.1   0.3
## [3,]   1.0   0.3   0.5   0.7   0.5   0.7   0.9   0.7   1.0   1.0   0.1   0.3
## [4,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.1   0.3
## [5,]   1.0   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.1   0.3
## [6,]   0.7   0.1   0.3   0.5   0.1   0.3   0.5   0.5   0.7   0.9   0.0   0.0
## [7,]   1.0   0.7   1.0   1.0   0.5   0.7   0.9   0.7   1.0   1.0   0.3   0.5
##      [,27]
## [1,]   0.5
## [2,]   0.5
## [3,]   0.5
## [4,]   0.5
## [5,]   0.5
## [6,]   0.3
## [7,]   0.7
## 응답자 1의 대안에 대한 평가

al12 <- as.matrix(datalist$al12)  
al12
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    3    4    4    4    3    3    3    3
## [2,]    3    4    4    3    4    3    2    3    3
## [3,]    3    4    4    3    4    3    2    3    3
## [4,]    3    4    3    4    3    3    4    4    4
## [5,]    2    3    3    4    3    3    3    4    4
## [6,]    4    2    2    3    2    2    2    4    3
## [7,]    4    4    4    4    4    4    4    4    4
number = length(al12)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al12)){
  for (j in 1:ncol(al12)){
  lv[i,j] <- ifelse (al12[i,j]==1, 0.0,
                        ifelse(al12[i,j] ==2, 0.1,
                          ifelse(al12[i,j] ==3, 0.3,
                            ifelse(al12[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.3  0.5  0.5  0.5  0.3  0.3  0.3  0.3
## [2,]  0.3  0.5  0.5  0.3  0.5  0.3  0.1  0.3  0.3
## [3,]  0.3  0.5  0.5  0.3  0.5  0.3  0.1  0.3  0.3
## [4,]  0.3  0.5  0.3  0.5  0.3  0.3  0.5  0.5  0.5
## [5,]  0.1  0.3  0.3  0.5  0.3  0.3  0.3  0.5  0.5
## [6,]  0.5  0.1  0.1  0.3  0.1  0.1  0.1  0.5  0.3
## [7,]  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5
for (i in 1:nrow(al12)){
  for (j in 1:ncol(al12)){
  mv[i,j] <- ifelse (al12[i,j]==1, 0.0,
                        ifelse(al12[i,j] ==2, 0.3,
                          ifelse(al12[i,j] ==3, 0.5,
                            ifelse(al12[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.5  0.7  0.7  0.7  0.5  0.5  0.5  0.5
## [2,]  0.5  0.7  0.7  0.5  0.7  0.5  0.3  0.5  0.5
## [3,]  0.5  0.7  0.7  0.5  0.7  0.5  0.3  0.5  0.5
## [4,]  0.5  0.7  0.5  0.7  0.5  0.5  0.7  0.7  0.7
## [5,]  0.3  0.5  0.5  0.7  0.5  0.5  0.5  0.7  0.7
## [6,]  0.7  0.3  0.3  0.5  0.3  0.3  0.3  0.7  0.5
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al12)){
  for (j in 1:ncol(al12)){
  uv[i,j] <- ifelse (al12[i,j]==1, 0.3,
                        ifelse(al12[i,j] ==2, 0.5,
                          ifelse(al12[i,j] ==3, 0.7,
                            ifelse(al12[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.9  0.9  0.9  0.7  0.7  0.7  0.7
## [2,]  0.7  0.9  0.9  0.7  0.9  0.7  0.5  0.7  0.7
## [3,]  0.7  0.9  0.9  0.7  0.9  0.7  0.5  0.7  0.7
## [4,]  0.7  0.9  0.7  0.9  0.7  0.7  0.9  0.9  0.9
## [5,]  0.5  0.7  0.7  0.9  0.7  0.7  0.7  0.9  0.9
## [6,]  0.9  0.5  0.5  0.7  0.5  0.5  0.5  0.9  0.7
## [7,]  0.9  0.9  0.9  0.9  0.9  0.9  0.9  0.9  0.9
al12d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al12d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
## [2,]  0.3  0.5  0.7  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [3,]  0.3  0.5  0.7  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [4,]  0.3  0.5  0.7  0.5  0.7  0.9  0.3  0.5  0.7   0.5   0.7   0.9   0.3   0.5
## [5,]  0.1  0.3  0.5  0.3  0.5  0.7  0.3  0.5  0.7   0.5   0.7   0.9   0.3   0.5
## [6,]  0.5  0.7  0.9  0.1  0.3  0.5  0.1  0.3  0.5   0.3   0.5   0.7   0.1   0.3
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.5   0.7
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [2,]   0.9   0.3   0.5   0.7   0.1   0.3   0.5   0.3   0.5   0.7   0.3   0.5
## [3,]   0.9   0.3   0.5   0.7   0.1   0.3   0.5   0.3   0.5   0.7   0.3   0.5
## [4,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [5,]   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7
## [6,]   0.5   0.1   0.3   0.5   0.1   0.3   0.5   0.5   0.7   0.9   0.3   0.5
## [7,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
##      [,27]
## [1,]   0.7
## [2,]   0.7
## [3,]   0.7
## [4,]   0.9
## [5,]   0.9
## [6,]   0.7
## [7,]   0.9
## 응답자 1의 대안에 대한 평가

al13 <- as.matrix(datalist$al13)  
al13
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    5    5    5    4    5    2    3    3    1
## [2,]    1    1    4    1    4    1    4    1    1
## [3,]    2    1    4    1    4    1    4    1    1
## [4,]    4    5    5    2    5    3    5    5    3
## [5,]    4    4    4    2    5    4    5    5    5
## [6,]    3    1    1    1    1    4    5    4    1
## [7,]    5    5    5    4    5    2    5    5    5
number = length(al13)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al13)){
  for (j in 1:ncol(al13)){
  lv[i,j] <- ifelse (al13[i,j]==1, 0.0,
                        ifelse(al13[i,j] ==2, 0.1,
                          ifelse(al13[i,j] ==3, 0.3,
                            ifelse(al13[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.5  0.7  0.1  0.3  0.3  0.0
## [2,]  0.0  0.0  0.5  0.0  0.5  0.0  0.5  0.0  0.0
## [3,]  0.1  0.0  0.5  0.0  0.5  0.0  0.5  0.0  0.0
## [4,]  0.5  0.7  0.7  0.1  0.7  0.3  0.7  0.7  0.3
## [5,]  0.5  0.5  0.5  0.1  0.7  0.5  0.7  0.7  0.7
## [6,]  0.3  0.0  0.0  0.0  0.0  0.5  0.7  0.5  0.0
## [7,]  0.7  0.7  0.7  0.5  0.7  0.1  0.7  0.7  0.7
for (i in 1:nrow(al13)){
  for (j in 1:ncol(al13)){
  mv[i,j] <- ifelse (al13[i,j]==1, 0.0,
                        ifelse(al13[i,j] ==2, 0.3,
                          ifelse(al13[i,j] ==3, 0.5,
                            ifelse(al13[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  0.7  1.0  0.3  0.5  0.5  0.0
## [2,]  0.0  0.0  0.7  0.0  0.7  0.0  0.7  0.0  0.0
## [3,]  0.3  0.0  0.7  0.0  0.7  0.0  0.7  0.0  0.0
## [4,]  0.7  1.0  1.0  0.3  1.0  0.5  1.0  1.0  0.5
## [5,]  0.7  0.7  0.7  0.3  1.0  0.7  1.0  1.0  1.0
## [6,]  0.5  0.0  0.0  0.0  0.0  0.7  1.0  0.7  0.0
## [7,]  1.0  1.0  1.0  0.7  1.0  0.3  1.0  1.0  1.0
for (i in 1:nrow(al13)){
  for (j in 1:ncol(al13)){
  uv[i,j] <- ifelse (al13[i,j]==1, 0.3,
                        ifelse(al13[i,j] ==2, 0.5,
                          ifelse(al13[i,j] ==3, 0.7,
                            ifelse(al13[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  0.9  1.0  0.5  0.7  0.7  0.3
## [2,]  0.3  0.3  0.9  0.3  0.9  0.3  0.9  0.3  0.3
## [3,]  0.5  0.3  0.9  0.3  0.9  0.3  0.9  0.3  0.3
## [4,]  0.9  1.0  1.0  0.5  1.0  0.7  1.0  1.0  0.7
## [5,]  0.9  0.9  0.9  0.5  1.0  0.9  1.0  1.0  1.0
## [6,]  0.7  0.3  0.3  0.3  0.3  0.9  1.0  0.9  0.3
## [7,]  1.0  1.0  1.0  0.9  1.0  0.5  1.0  1.0  1.0
al13d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al13d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
## [2,]  0.0  0.0  0.3  0.0  0.0  0.3  0.5  0.7  0.9   0.0   0.0   0.3   0.5   0.7
## [3,]  0.1  0.3  0.5  0.0  0.0  0.3  0.5  0.7  0.9   0.0   0.0   0.3   0.5   0.7
## [4,]  0.5  0.7  0.9  0.7  1.0  1.0  0.7  1.0  1.0   0.1   0.3   0.5   0.7   1.0
## [5,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.1   0.3   0.5   0.7   1.0
## [6,]  0.3  0.5  0.7  0.0  0.0  0.3  0.0  0.0  0.3   0.0   0.0   0.3   0.0   0.0
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.1   0.3   0.5   0.3   0.5   0.7   0.3   0.5   0.7   0.0   0.0
## [2,]   0.9   0.0   0.0   0.3   0.5   0.7   0.9   0.0   0.0   0.3   0.0   0.0
## [3,]   0.9   0.0   0.0   0.3   0.5   0.7   0.9   0.0   0.0   0.3   0.0   0.0
## [4,]   1.0   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0   1.0   0.3   0.5
## [5,]   1.0   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
## [6,]   0.3   0.5   0.7   0.9   0.7   1.0   1.0   0.5   0.7   0.9   0.0   0.0
## [7,]   1.0   0.1   0.3   0.5   0.7   1.0   1.0   0.7   1.0   1.0   0.7   1.0
##      [,27]
## [1,]   0.3
## [2,]   0.3
## [3,]   0.3
## [4,]   0.7
## [5,]   1.0
## [6,]   0.3
## [7,]   1.0
## 응답자 1의 대안에 대한 평가

al14 <- as.matrix(datalist$al14)  
al14
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    5    5    5    5    5    5    5    5    5
## [2,]    3    4    5    4    4    3    3    5    3
## [3,]    3    4    5    4    4    3    3    5    2
## [4,]    5    5    5    4    4    3    4    5    4
## [5,]    2    4    4    3    2    2    3    5    2
## [6,]    2    4    4    2    2    2    4    5    3
## [7,]    5    5    5    5    5    5    5    5    5
number = length(al14)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al14)){
  for (j in 1:ncol(al14)){
  lv[i,j] <- ifelse (al14[i,j]==1, 0.0,
                        ifelse(al14[i,j] ==2, 0.1,
                          ifelse(al14[i,j] ==3, 0.3,
                            ifelse(al14[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
## [2,]  0.3  0.5  0.7  0.5  0.5  0.3  0.3  0.7  0.3
## [3,]  0.3  0.5  0.7  0.5  0.5  0.3  0.3  0.7  0.1
## [4,]  0.7  0.7  0.7  0.5  0.5  0.3  0.5  0.7  0.5
## [5,]  0.1  0.5  0.5  0.3  0.1  0.1  0.3  0.7  0.1
## [6,]  0.1  0.5  0.5  0.1  0.1  0.1  0.5  0.7  0.3
## [7,]  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7  0.7
for (i in 1:nrow(al14)){
  for (j in 1:ncol(al14)){
  mv[i,j] <- ifelse (al14[i,j]==1, 0.0,
                        ifelse(al14[i,j] ==2, 0.3,
                          ifelse(al14[i,j] ==3, 0.5,
                            ifelse(al14[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1  1.0
## [2,]  0.5  0.7  1.0  0.7  0.7  0.5  0.5    1  0.5
## [3,]  0.5  0.7  1.0  0.7  0.7  0.5  0.5    1  0.3
## [4,]  1.0  1.0  1.0  0.7  0.7  0.5  0.7    1  0.7
## [5,]  0.3  0.7  0.7  0.5  0.3  0.3  0.5    1  0.3
## [6,]  0.3  0.7  0.7  0.3  0.3  0.3  0.7    1  0.5
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1  1.0
for (i in 1:nrow(al14)){
  for (j in 1:ncol(al14)){
  uv[i,j] <- ifelse (al14[i,j]==1, 0.3,
                        ifelse(al14[i,j] ==2, 0.5,
                          ifelse(al14[i,j] ==3, 0.7,
                            ifelse(al14[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1  1.0
## [2,]  0.7  0.9  1.0  0.9  0.9  0.7  0.7    1  0.7
## [3,]  0.7  0.9  1.0  0.9  0.9  0.7  0.7    1  0.5
## [4,]  1.0  1.0  1.0  0.9  0.9  0.7  0.9    1  0.9
## [5,]  0.5  0.9  0.9  0.7  0.5  0.5  0.7    1  0.5
## [6,]  0.5  0.9  0.9  0.5  0.5  0.5  0.9    1  0.7
## [7,]  1.0  1.0  1.0  1.0  1.0  1.0  1.0    1  1.0
al14d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al14d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
## [2,]  0.3  0.5  0.7  0.5  0.7  0.9  0.7  1.0  1.0   0.5   0.7   0.9   0.5   0.7
## [3,]  0.3  0.5  0.7  0.5  0.7  0.9  0.7  1.0  1.0   0.5   0.7   0.9   0.5   0.7
## [4,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.5   0.7
## [5,]  0.1  0.3  0.5  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.1   0.3
## [6,]  0.1  0.3  0.5  0.5  0.7  0.9  0.5  0.7  0.9   0.1   0.3   0.5   0.1   0.3
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.7   1.0   1.0   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7     1     1   0.7   1.0
## [2,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.7     1     1   0.3   0.5
## [3,]   0.9   0.3   0.5   0.7   0.3   0.5   0.7   0.7     1     1   0.1   0.3
## [4,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.7     1     1   0.5   0.7
## [5,]   0.5   0.1   0.3   0.5   0.3   0.5   0.7   0.7     1     1   0.1   0.3
## [6,]   0.5   0.1   0.3   0.5   0.5   0.7   0.9   0.7     1     1   0.3   0.5
## [7,]   1.0   0.7   1.0   1.0   0.7   1.0   1.0   0.7     1     1   0.7   1.0
##      [,27]
## [1,]   1.0
## [2,]   0.7
## [3,]   0.5
## [4,]   0.9
## [5,]   0.5
## [6,]   0.7
## [7,]   1.0
## 응답자 1의 대안에 대한 평가

al15 <- as.matrix(datalist$al15)  
al15
##      ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9
## [1,]    3    2    2    2    2    2    2    2    2
## [2,]    4    4    4    3    4    3    4    3    3
## [3,]    4    4    4    3    4    3    4    3    3
## [4,]    4    4    3    4    4    3    4    4    4
## [5,]    4    3    3    4    4    3    4    4    3
## [6,]    2    2    2    2    2    2    3    2    2
## [7,]    4    4    4    4    2    4    4    4    3
number = length(al15)
nrow = 7
ncol = 9

mv = matrix(data = 0, nrow = nrow, ncol = ncol)
lv = matrix(data = 0, nrow = nrow, ncol = ncol)
uv = matrix(data = 0, nrow = nrow, ncol = ncol)

for (i in 1:nrow(al15)){
  for (j in 1:ncol(al15)){
  lv[i,j] <- ifelse (al15[i,j]==1, 0.0,
                        ifelse(al15[i,j] ==2, 0.1,
                          ifelse(al15[i,j] ==3, 0.3,
                            ifelse(al15[i,j]==4, 0.5, 0.7))))
    }
  }
print(lv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.3  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1
## [2,]  0.5  0.5  0.5  0.3  0.5  0.3  0.5  0.3  0.3
## [3,]  0.5  0.5  0.5  0.3  0.5  0.3  0.5  0.3  0.3
## [4,]  0.5  0.5  0.3  0.5  0.5  0.3  0.5  0.5  0.5
## [5,]  0.5  0.3  0.3  0.5  0.5  0.3  0.5  0.5  0.3
## [6,]  0.1  0.1  0.1  0.1  0.1  0.1  0.3  0.1  0.1
## [7,]  0.5  0.5  0.5  0.5  0.1  0.5  0.5  0.5  0.3
for (i in 1:nrow(al15)){
  for (j in 1:ncol(al15)){
  mv[i,j] <- ifelse (al15[i,j]==1, 0.0,
                        ifelse(al15[i,j] ==2, 0.3,
                          ifelse(al15[i,j] ==3, 0.5,
                            ifelse(al15[i,j]==4, 0.7, 1.0))))
    }
  }
print(mv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.5  0.3  0.3  0.3  0.3  0.3  0.3  0.3  0.3
## [2,]  0.7  0.7  0.7  0.5  0.7  0.5  0.7  0.5  0.5
## [3,]  0.7  0.7  0.7  0.5  0.7  0.5  0.7  0.5  0.5
## [4,]  0.7  0.7  0.5  0.7  0.7  0.5  0.7  0.7  0.7
## [5,]  0.7  0.5  0.5  0.7  0.7  0.5  0.7  0.7  0.5
## [6,]  0.3  0.3  0.3  0.3  0.3  0.3  0.5  0.3  0.3
## [7,]  0.7  0.7  0.7  0.7  0.3  0.7  0.7  0.7  0.5
for (i in 1:nrow(al15)){
  for (j in 1:ncol(al15)){
  uv[i,j] <- ifelse (al15[i,j]==1, 0.3,
                        ifelse(al15[i,j] ==2, 0.5,
                          ifelse(al15[i,j] ==3, 0.7,
                            ifelse(al15[i,j]==4, 0.9, 1.0))))
    }
  }
print(uv)
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,]  0.7  0.5  0.5  0.5  0.5  0.5  0.5  0.5  0.5
## [2,]  0.9  0.9  0.9  0.7  0.9  0.7  0.9  0.7  0.7
## [3,]  0.9  0.9  0.9  0.7  0.9  0.7  0.9  0.7  0.7
## [4,]  0.9  0.9  0.7  0.9  0.9  0.7  0.9  0.9  0.9
## [5,]  0.9  0.7  0.7  0.9  0.9  0.7  0.9  0.9  0.7
## [6,]  0.5  0.5  0.5  0.5  0.5  0.5  0.7  0.5  0.5
## [7,]  0.9  0.9  0.9  0.9  0.5  0.9  0.9  0.9  0.7
al15d2 <- matrix(c(lv[1,1], mv[1,1], uv[1,1], lv[1,2], mv[1,2], uv[1,2], lv[1,3], mv[1,3], uv[1,3],  lv[1,4], mv[1,4], uv[1,4], lv[1,5], mv[1,5], uv[1,5], lv[1,6], mv[1,6], uv[1,6],  lv[1,7], mv[1,7], uv[1,7], lv[1,8], mv[1,8], uv[1,8], lv[1,9], mv[1,9], uv[1,9],  
               lv[2,1], mv[2,1], uv[2,1], lv[2,2], mv[2,2], uv[2,2], lv[2,3], mv[2,3], uv[2,3],  lv[2,4], mv[2,4], uv[2,4], lv[2,5], mv[2,5], uv[2,5], lv[2,6], mv[2,6], uv[2,6],  lv[2,7], mv[2,7], uv[2,7], lv[2,8], mv[2,8], uv[2,8], lv[2,9], mv[2,9], uv[2,9],  
               lv[3,1], mv[3,1], uv[3,1], lv[3,2], mv[3,2], uv[3,2], lv[3,3], mv[3,3], uv[3,3],  lv[3,4], mv[3,4], uv[3,4], lv[3,5], mv[3,5], uv[3,5], lv[3,6], mv[3,6], uv[3,6],  lv[3,7], mv[3,7], uv[3,7], lv[3,8], mv[3,8], uv[3,8], lv[3,9], mv[3,9], uv[3,9],  
               lv[4,1], mv[4,1], uv[4,1], lv[4,2], mv[4,2], uv[4,2], lv[4,3], mv[4,3], uv[4,3],  lv[4,4], mv[4,4], uv[4,4], lv[4,5], mv[4,5], uv[4,5], lv[4,6], mv[4,6], uv[4,6],  lv[4,7], mv[4,7], uv[4,7], lv[4,8], mv[4,8], uv[4,8], lv[4,9], mv[4,9], uv[4,9],  
               lv[5,1], mv[5,1], uv[5,1], lv[5,2], mv[5,2], uv[5,2], lv[5,3], mv[5,3], uv[5,3],  lv[5,4], mv[5,4], uv[5,4], lv[5,5], mv[5,5], uv[5,5], lv[5,6], mv[5,6], uv[5,6],  lv[5,7], mv[5,7], uv[5,7], lv[5,8], mv[5,8], uv[5,8], lv[5,9], mv[5,9], uv[5,9],  
               lv[6,1], mv[6,1], uv[6,1], lv[6,2], mv[6,2], uv[6,2], lv[6,3], mv[6,3], uv[6,3],  lv[6,4], mv[6,4], uv[6,4], lv[6,5], mv[6,5], uv[6,5], lv[6,6], mv[6,6], uv[6,6],  lv[6,7], mv[6,7], uv[6,7], lv[6,8], mv[6,8], uv[6,8], lv[6,9], mv[6,9], uv[6,9],  
               lv[7,1], mv[7,1], uv[7,1], lv[7,2], mv[7,2], uv[7,2], lv[7,3], mv[7,3], uv[7,3],  lv[7,4], mv[7,4], uv[7,4], lv[7,5], mv[7,5], uv[7,5], lv[7,6], mv[7,6], uv[7,6],  lv[7,7], mv[7,7], uv[7,7], lv[7,8], mv[7,8], uv[7,8], lv[7,9], mv[7,9], uv[7,9]
               ),nrow=7,ncol=27, byrow = TRUE)


al15d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.3  0.5  0.7  0.1  0.3  0.5  0.1  0.3  0.5   0.1   0.3   0.5   0.1   0.3
## [2,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [3,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.3   0.5   0.7   0.5   0.7
## [4,]  0.5  0.7  0.9  0.5  0.7  0.9  0.3  0.5  0.7   0.5   0.7   0.9   0.5   0.7
## [5,]  0.5  0.7  0.9  0.3  0.5  0.7  0.3  0.5  0.7   0.5   0.7   0.9   0.5   0.7
## [6,]  0.1  0.3  0.5  0.1  0.3  0.5  0.1  0.3  0.5   0.1   0.3   0.5   0.1   0.3
## [7,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.5   0.7   0.9   0.1   0.3
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   0.5   0.1   0.3   0.5   0.1   0.3   0.5   0.1   0.3   0.5   0.1   0.3
## [2,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5   0.7   0.3   0.5
## [3,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5   0.7   0.3   0.5
## [4,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [5,]   0.9   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.3   0.5
## [6,]   0.5   0.1   0.3   0.5   0.3   0.5   0.7   0.1   0.3   0.5   0.1   0.3
## [7,]   0.5   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.3   0.5
##      [,27]
## [1,]   0.5
## [2,]   0.7
## [3,]   0.7
## [4,]   0.9
## [5,]   0.7
## [6,]   0.5
## [7,]   0.7

응답자 1의 퍼지 가중치

dm1Cw0
## [1] 0.74079578 0.20337171 0.05583251
dm1wt1 <- c(t(dm1D1)) 
dm1wt1
## [1] 0.9085603 1.0000000 1.1006424 3.3019272 3.6593057 4.0000000 0.2500000
## [8] 0.2732759 0.3028534
dm1wt2 <- c(t(dm1D2)) 
dm1wt2
## [1] 3.3019272 3.6593057 4.0000000 0.2500000 0.2732759 0.3028534 0.9085603
## [8] 1.0000000 1.1006424
dm1wt3 <- c(t(dm1D3)) 
dm1wt3
## [1] 3.3019272 3.6593057 4.0000000 0.9085603 1.0000000 1.1006424 0.2500000
## [8] 0.2732759 0.3028534
dm1wt <- c(dm1Cw0[1]*dm1wt1, dm1Cw0[1]*dm1wt2, dm1Cw0[1]*dm1wt3)
dm1wt  
##  [1] 0.6730576 0.7407958 0.8153513 2.4460538 2.7107982 2.9631831 0.1851989
##  [8] 0.2024416 0.2243525 2.4460538 2.7107982 2.9631831 0.1851989 0.2024416
## [15] 0.2243525 0.6730576 0.7407958 0.8153513 2.4460538 2.7107982 2.9631831
## [22] 0.6730576 0.7407958 0.8153513 0.1851989 0.2024416 0.2243525
dm2Cw0
## [1] 0.77309715 0.04351614 0.18338671
dm2wt1 <- c(t(dm2D1)) 
dm2wt1
## [1] 0.9614997 1.0000000 1.0400419 4.0000000 4.3267487 4.3267487 0.2311204
## [8] 0.2311204 0.2500000
dm2wt2 <- c(t(dm2D2)) 
dm2wt2
## [1] 4.0000000 4.3267487 4.3267487 0.4807499 0.6057069 0.7211248 0.3333333
## [8] 0.3815714 0.5000000
dm2wt3 <- c(t(dm2D3)) 
dm2wt3
## [1] 0.9614997 1.0000000 1.0400419 4.0000000 4.3267487 4.3267487 0.2311204
## [8] 0.2311204 0.2500000
dm2wt <- c(dm2Cw0[1]*dm2wt1, dm2Cw0[1]*dm2wt2, dm2Cw0[1]*dm2wt3)
dm2wt  
##  [1] 0.7433327 0.7730971 0.8040534 3.0923886 3.3449971 3.3449971 0.1786785
##  [8] 0.1786785 0.1932743 3.0923886 3.3449971 3.3449971 0.3716663 0.4682702
## [15] 0.5574995 0.2576990 0.2949918 0.3865486 0.7433327 0.7730971 0.8040534
## [22] 3.0923886 3.3449971 3.3449971 0.1786785 0.1786785 0.1932743
dm3Cw0
## [1] 0.79045021 0.05376645 0.15578334
dm3wt1 <- c(t(dm3D1)) 
dm3wt1
## [1] 0.9085603 1.0000000 1.1006424 3.6342412 3.9790572 4.1601676 0.2403749
## [8] 0.2513158 0.2751606
dm3wt2 <- c(t(dm3D2)) 
dm3wt2
## [1] 3.6342412 3.9790572 4.1601676 1.0000000 1.0873804 1.1447142 0.2311204
## [8] 0.2311204 0.2500000
dm3wt3 <- c(t(dm3D3)) 
dm3wt3
## [1] 2.8844991 3.2710663 3.6342412 0.8735805 1.0000000 1.1447142 0.2751606
## [8] 0.3057107 0.3466806
dm3wt <- c(dm3Cw0[1]*dm3wt1, dm3Cw0[1]*dm3wt2, dm3Cw0[1]*dm3wt3)
dm3wt  
##  [1] 0.7181717 0.7904502 0.8700030 2.8726867 3.1452466 3.2884054 0.1900044
##  [8] 0.1986526 0.2175008 2.8726867 3.1452466 3.2884054 0.7904502 0.8595200
## [15] 0.9048396 0.1826892 0.1826892 0.1976126 2.2800530 2.5856151 2.8726867
## [22] 0.6905219 0.7904502 0.9048396 0.2175008 0.2416491 0.2740338
dm4Cw0
## [1] 0.68403042 0.24607270 0.06989688
dm4wt1 <- c(t(dm4D1)) 
dm4wt1
## [1] 0.3149803 0.3624601 0.4367902 3.1072325 3.4760266 3.8258624 0.6586338
## [8] 0.7937005 0.9283178
dm4wt2 <- c(t(dm4D2)) 
dm4wt2
## [1] 3.4199519 3.7797631 3.9790572 0.8939035 1.0000000 1.1186889 0.2513158
## [8] 0.2645668 0.2924018
dm4wt3 <- c(t(dm4D3)) 
dm4wt3
## [1] 2.7589242 3.1748021 3.5568933 0.8434327 1.0000000 1.1856311 0.2811442
## [8] 0.3149803 0.3624601
dm4wt <- c(dm4Cw0[1]*dm4wt1, dm4Cw0[1]*dm4wt2, dm4Cw0[1]*dm4wt3)
dm4wt  
##  [1] 0.2154561 0.2479338 0.2987778 2.1254415 2.3777080 2.6170062 0.4505255
##  [8] 0.5429153 0.6349976 2.3393511 2.5854730 2.7217962 0.6114572 0.6840304
## [15] 0.7652173 0.1719077 0.1809718 0.2000117 1.8871881 2.1716612 2.4330232
## [22] 0.5769336 0.6840304 0.8110077 0.1923112 0.2154561 0.2479338
dm5Cw0
## [1] 0.51226206 0.07998756 0.40775037
dm5wt1 <- c(t(dm5D1)) 
dm5wt1
## [1] 1.0000000 1.4422496 2.0000000 0.4367902 0.5503212 0.7937005 0.7937005
## [8] 1.2599210 1.8171206
dm5wt2 <- c(t(dm5D2)) 
dm5wt2
## [1] 0.7937005 1.2599210 1.8171206 0.7937005 1.2599210 1.8171206 0.4807499
## [8] 0.6299605 1.0000000
dm5wt3 <- c(t(dm5D3)) 
dm5wt3
## [1] 0.4149133 0.5503212 0.7368063 2.7144176 3.1072325 3.4760266 0.4367902
## [8] 0.5848035 0.7937005
dm5wt <- c(dm5Cw0[1]*dm5wt1, dm5Cw0[1]*dm5wt2, dm5Cw0[1]*dm5wt3)
dm5wt  
##  [1] 0.5122621 0.7388097 1.0245241 0.2237511 0.2819087 0.4065827 0.4065827
##  [8] 0.6454098 0.9308419 0.4065827 0.6454098 0.9308419 0.4065827 0.6454098
## [15] 0.9308419 0.2462699 0.3227049 0.5122621 0.2125443 0.2819087 0.3774379
## [22] 1.3904932 1.5917173 1.7806366 0.2237511 0.2995727 0.4065827
dm6Cw0
## [1] 0.71063964 0.05480557 0.23455479
dm6wt1 <- c(t(dm6D1)) 
dm6wt1
## [1] 0.6299605 0.7539474 0.8735805 3.4760266 3.8258624 4.1601676 0.3028534
## [8] 0.3466806 0.4149133
dm6wt2 <- c(t(dm6D2)) 
dm6wt2
## [1] 0.6299605 0.8735805 1.1447142 2.0000000 2.4662121 2.8844991 0.3815714
## [8] 0.4641589 0.6299605
dm6wt3 <- c(t(dm6D3)) 
dm6wt3
## [1] 2.5198421 2.9240177 3.3019272 0.4367902 0.5848035 0.7937005 0.4367902
## [8] 0.5848035 0.7937005
dm6wt <- c(dm6Cw0[1]*dm6wt1, dm6Cw0[1]*dm6wt2, dm6Cw0[1]*dm6wt3)
dm6wt  
##  [1] 0.4476749 0.5357849 0.6208009 2.4702023 2.7188095 2.9563800 0.2152197
##  [8] 0.2463650 0.2948538 0.4476749 0.6208009 0.8134793 1.4212793 1.7525881
## [15] 2.0498394 0.2711598 0.3298497 0.4476749 1.7906997 2.0779229 2.3464804
## [22] 0.3104005 0.4155846 0.5640351 0.3104005 0.4155846 0.5640351
dm7Cw0
## [1] 0.76563809 0.08265626 0.15170565
dm7wt1 <- c(t(dm7D1)) 
dm7wt1
## [1] 2.8844991 3.2710663 3.6342412 0.8735805 1.0000000 1.1447142 0.2751606
## [8] 0.3057107 0.3466806
dm7wt2 <- c(t(dm7D2)) 
dm7wt2
## [1] 2.8844991 3.2710663 3.6342412 0.3149803 0.3624601 0.4367902 0.6933613
## [8] 0.8434327 1.0000000
dm7wt3 <- c(t(dm7D3)) 
dm7wt3
## [1] 0.3028534 0.3466806 0.4149133 0.6933613 0.8434327 1.0000000 3.0365890
## [8] 3.4199519 3.7797631
dm7wt <- c(dm7Cw0[1]*dm7wt1, dm7Cw0[1]*dm7wt2, dm7Cw0[1]*dm7wt3)
dm7wt  
##  [1] 2.2084824 2.5044530 2.7825135 0.6688465 0.7656381 0.8764368 0.2106734
##  [8] 0.2340638 0.2654319 2.2084824 2.5044530 2.7825135 0.2411609 0.2775133
## [15] 0.3344232 0.5308638 0.6457642 0.7656381 0.2318761 0.2654319 0.3176734
## [22] 0.5308638 0.6457642 0.7656381 2.3249282 2.6184454 2.8939306
dm8Cw0
## [1] 0.28589498 0.05993736 0.65416767
dm8wt1 <- c(t(dm8D1)) 
dm8wt1
## [1] 0.3293169 0.3815714 0.4641589 2.1544347 2.6207414 3.0365890 0.7937005
## [8] 1.0000000 1.2599210
dm8wt2 <- c(t(dm8D2)) 
dm8wt2
## [1] 0.6299605 0.7539474 0.8735805 3.1072325 3.4760266 3.8258624 0.3293169
## [8] 0.3815714 0.4641589
dm8wt3 <- c(t(dm8D3)) 
dm8wt3
## [1] 2.1544347 2.6207414 3.0365890 0.3293169 0.3815714 0.4641589 0.7937005
## [8] 1.0000000 1.2599210
dm8wt <- c(dm8Cw0[1]*dm8wt1, dm8Cw0[1]*dm8wt2, dm8Cw0[1]*dm8wt3)
dm8wt  
##  [1] 0.09415004 0.10908935 0.13270069 0.61594205 0.74925680 0.86814553
##  [7] 0.22691499 0.28589498 0.36020510 0.18010255 0.21554979 0.24975227
## [13] 0.88834216 0.99377855 1.09379483 0.09415004 0.10908935 0.13270069
## [19] 0.61594205 0.74925680 0.86814553 0.09415004 0.10908935 0.13270069
## [25] 0.22691499 0.28589498 0.36020510
dm9Cw0
## [1] 0.72350568 0.22085995 0.05563437
dm9wt1 <- c(t(dm9D1)) 
dm9wt1
## [1] 0.8549880 0.9499143 1.0527266 3.6342412 3.9790572 4.1601676 0.2513158
## [8] 0.2645668 0.2924018
dm9wt2 <- c(t(dm9D2)) 
dm9wt2
## [1] 3.6342412 3.9790572 4.1601676 0.9085603 1.0000000 1.1006424 0.2403749
## [8] 0.2513158 0.2751606
dm9wt3 <- c(t(dm9D3)) 
dm9wt3
## [1] 3.6342412 3.9790572 4.1601676 0.8549880 0.9499143 1.0527266 0.2513158
## [8] 0.2645668 0.2924018
dm9wt <- c(dm9Cw0[1]*dm9wt1, dm9Cw0[1]*dm9wt2, dm9Cw0[1]*dm9wt3)
dm9wt  
##  [1] 0.6185887 0.6872684 0.7616537 2.6293941 2.8788705 3.0099049 0.1818284
##  [8] 0.1914156 0.2115543 2.6293941 2.8788705 3.0099049 0.6573485 0.7235057
## [15] 0.7963210 0.1739126 0.1818284 0.1990803 2.6293941 2.8788705 3.0099049
## [22] 0.6185887 0.6872684 0.7616537 0.1818284 0.1914156 0.2115543
dm10Cw0
## [1] 0.77309715 0.18338671 0.04351614
dm10wt1 <- c(t(dm10D1)) 
dm10wt1
## [1] 0.5848035 0.7937005 1.0000000 2.4662121 2.8844991 3.2710663 0.3624601
## [8] 0.4367902 0.5848035
dm10wt2 <- c(t(dm10D2)) 
dm10wt2
## [1] 2.6207414 3.0365890 3.4199519 0.2924018 0.3293169 0.3815714 0.8434327
## [8] 1.0000000 1.1856311
dm10wt3 <- c(t(dm10D3)) 
dm10wt3
## [1] 0.6933613 0.7937005 0.8939035 3.8258624 4.1601676 4.3267487 0.2811442
## [8] 0.3028534 0.3466806
dm10wt <- c(dm10Cw0[1]*dm10wt1, dm10Cw0[1]*dm10wt2, dm10Cw0[1]*dm10wt3)
dm10wt  
##  [1] 0.4521100 0.6136076 0.7730971 1.9066215 2.2299981 2.5288520 0.2802169
##  [8] 0.3376813 0.4521100 2.0260877 2.3475783 2.6439551 0.2260550 0.2545939
## [15] 0.2949918 0.6520554 0.7730971 0.9166080 0.5360356 0.6136076 0.6910743
## [22] 2.9577633 3.2162137 3.3449971 0.2173518 0.2341351 0.2680178
dm11Cw0
## [1] 0.74607471 0.04910428 0.20482102
dm11wt1 <- c(t(dm11D1)) 
dm11wt1
## [1] 3.8258624 4.1601676 4.3267487 0.8735805 0.9564656 1.0455159 0.2403749
## [8] 0.2513158 0.2751606
dm11wt2 <- c(t(dm11D2)) 
dm11wt2
## [1] 0.9196414 1.0000000 1.0873804 3.8258624 4.1601676 4.3267487 0.2311204
## [8] 0.2403749 0.2613790
dm11wt3 <- c(t(dm11D3)) 
dm11wt3
## [1] 0.9196414 1.0000000 1.0873804 3.8258624 4.1601676 4.3267487 0.2311204
## [8] 0.2403749 0.2613790
dm11wt <- c(dm11Cw0[1]*dm11wt1, dm11Cw0[1]*dm11wt2, dm11Cw0[1]*dm11wt3)
dm11wt  
##  [1] 2.8543791 3.1037959 3.2280778 0.6517563 0.7135948 0.7800330 0.1793377
##  [8] 0.1875004 0.2052904 0.6861212 0.7460747 0.8112670 2.8543791 3.1037959
## [15] 3.2280778 0.1724331 0.1793377 0.1950082 0.6861212 0.7460747 0.8112670
## [22] 2.8543791 3.1037959 3.2280778 0.1724331 0.1793377 0.1950082
dm12Cw0
## [1] 0.74618213 0.05928578 0.19453209
dm12wt1 <- c(t(dm12D1)) 
dm12wt1
## [1] 0.6586338 0.7937005 0.9283178 3.1072325 3.4760266 3.8258624 0.3149803
## [8] 0.3624601 0.4367902
dm12wt2 <- c(t(dm12D2)) 
dm12wt2
## [1] 2.4662121 2.8844991 3.2710663 0.2732759 0.3028534 0.3419952 1.0000000
## [8] 1.1447142 1.3263524
dm12wt3 <- c(t(dm12D3)) 
dm12wt3
## [1] 0.8939035 1.0000000 1.1186889 2.9240177 3.3019272 3.6593057 0.2732759
## [8] 0.3028534 0.3419952
dm12wt <- c(dm12Cw0[1]*dm12wt1, dm12Cw0[1]*dm12wt2, dm12Cw0[1]*dm12wt3)
dm12wt  
##  [1] 0.4914607 0.5922452 0.6926941 2.3185614 2.5937490 2.8547901 0.2350326
##  [8] 0.2704613 0.3259251 1.8402434 2.1523617 2.4408112 0.2039136 0.2259838
## [15] 0.2551907 0.7461821 0.8541653 0.9897005 0.6670148 0.7461821 0.8347457
## [22] 2.1818498 2.4638391 2.7305085 0.2039136 0.2259838 0.2551907
dm13Cw0
## [1] 0.47320125 0.05359751 0.47320125
dm13wt1 <- c(t(dm13D1)) 
dm13wt1
## [1] 0.8735805 0.9196414 1.0000000 4.0000000 4.3267487 4.3267487 0.2403749
## [8] 0.2513158 0.2751606
dm13wt2 <- c(t(dm13D2)) 
dm13wt2
## [1] 4.0000000 4.3267487 4.3267487 0.9614997 1.0000000 1.0400419 0.2311204
## [8] 0.2311204 0.2500000
dm13wt3 <- c(t(dm13D3)) 
dm13wt3
## [1] 0.9085603 1.0000000 1.1006424 3.6342412 3.9790572 4.1601676 0.2403749
## [8] 0.2513158 0.2751606
dm13wt <- c(dm13Cw0[1]*dm13wt1, dm13Cw0[1]*dm13wt2, dm13Cw0[1]*dm13wt3)
dm13wt  
##  [1] 0.4133794 0.4351755 0.4732012 1.8928050 2.0474229 2.0474229 0.1137457
##  [8] 0.1189230 0.1302063 1.8928050 2.0474229 2.0474229 0.4549829 0.4732012
## [15] 0.4921491 0.1093665 0.1093665 0.1183003 0.4299319 0.4732012 0.5208254
## [22] 1.7197275 1.8828948 1.9685965 0.1137457 0.1189230 0.1302063
dm14Cw0
## [1] 0.74864200 0.08013739 0.17122061
dm14wt1 <- c(t(dm14D1)) 
dm14wt1
## [1] 0.3624601 0.4367902 0.5848035 0.5848035 0.7937005 1.0000000 2.4662121
## [8] 2.8844991 3.2710663
dm14wt2 <- c(t(dm14D2)) 
dm14wt2
## [1] 3.2710663 3.6342412 3.9790572 0.8939035 1.0000000 1.1186889 0.2513158
## [8] 0.2751606 0.3057107
dm14wt3 <- c(t(dm14D3)) 
dm14wt3
## [1] 0.2645668 0.2924018 0.3293169 3.4760266 3.8258624 4.1601676 0.7937005
## [8] 0.8939035 1.0000000
dm14wt <- c(dm14Cw0[1]*dm14wt1, dm14Cw0[1]*dm14wt2, dm14Cw0[1]*dm14wt3)
dm14wt  
##  [1] 0.2713529 0.3269995 0.4378085 0.4378085 0.5941976 0.7486420 1.8463099
##  [8] 2.1594572 2.4488576 2.4488576 2.7207456 2.9788894 0.6692137 0.7486420
## [15] 0.8374975 0.1881456 0.2059968 0.2288679 0.1980659 0.2189042 0.2465404
## [22] 2.6022995 2.8642013 3.1144762 0.5941976 0.6692137 0.7486420
dm15Cw0
## [1] 0.36603143 0.08919229 0.54477628
dm15wt1 <- c(t(dm15D1)) 
dm15wt1
## [1] 0.8434327 1.0000000 1.1856311 0.9085603 1.1006424 1.3572088 0.7368063
## [8] 0.9085603 1.1006424
dm15wt2 <- c(t(dm15D2)) 
dm15wt2
## [1] 0.9085603 1.1006424 1.3572088 2.0000000 2.4662121 2.8844991 0.3218298
## [8] 0.3684031 0.4367902
dm15wt3 <- c(t(dm15D3)) 
dm15wt3
## [1] 0.6299605 0.8735805 1.1447142 2.0000000 2.4662121 2.8844991 0.3815714
## [8] 0.4641589 0.6299605
dm15wt <- c(dm15Cw0[1]*dm15wt1, dm15Cw0[1]*dm15wt2, dm15Cw0[1]*dm15wt3)
dm15wt  
##  [1] 0.3087229 0.3660314 0.4339783 0.3325616 0.4028697 0.4967811 0.2696943
##  [8] 0.3325616 0.4028697 0.3325616 0.4028697 0.4967811 0.7320629 0.9027111
## [15] 1.0558174 0.1177998 0.1348471 0.1598790 0.2305854 0.3197579 0.4190014
## [22] 0.7320629 0.9027111 1.0558174 0.1396671 0.1698967 0.2305854

응답자 1에 대한 FuzzyTopsis분석결과

# 가중치 평균 Fuzzy 값 불러오기
#Entering Criteria w.r.t. 우주안보 제1기준 측면에서 대안 7개
# d2 각 전문가게 제시한 7개 대안에 대한 의 의견을 3개씩 3씩 Fuzzy값을 입력하기

al1d2
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
## [2,]  0.3  0.5  0.7  0.3  0.5  0.7  0.5  0.7  0.9   0.7   1.0   1.0   0.5   0.7
## [3,]  0.3  0.5  0.7  0.3  0.5  0.7  0.3  0.5  0.7   0.7   1.0   1.0   0.5   0.7
## [4,]  0.3  0.5  0.7  0.5  0.7  0.9  0.3  0.5  0.7   0.5   0.7   0.9   0.3   0.5
## [5,]  0.5  0.7  0.9  0.5  0.7  0.9  0.5  0.7  0.9   0.7   1.0   1.0   0.5   0.7
## [6,]  0.1  0.3  0.5  0.0  0.0  0.3  0.1  0.3  0.5   0.3   0.5   0.7   0.0   0.0
## [7,]  0.7  1.0  1.0  0.7  1.0  1.0  0.7  1.0  1.0   0.5   0.7   0.9   0.7   1.0
##      [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,]   1.0   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5   0.7   0.3   0.5
## [2,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [3,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.5   0.7
## [4,]   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.5   0.7   0.9   0.3   0.5
## [5,]   0.9   0.5   0.7   0.9   0.5   0.7   0.9   0.7   1.0   1.0   0.7   1.0
## [6,]   0.3   0.0   0.0   0.3   0.3   0.5   0.7   0.7   1.0   1.0   0.7   1.0
## [7,]   1.0   0.3   0.5   0.7   0.3   0.5   0.7   0.5   0.7   0.9   0.3   0.5
##      [,27]
## [1,]   0.7
## [2,]   0.9
## [3,]   0.9
## [4,]   0.7
## [5,]   1.0
## [6,]   1.0
## [7,]   0.7
dm1wt
##  [1] 0.6730576 0.7407958 0.8153513 2.4460538 2.7107982 2.9631831 0.1851989
##  [8] 0.2024416 0.2243525 2.4460538 2.7107982 2.9631831 0.1851989 0.2024416
## [15] 0.2243525 0.6730576 0.7407958 0.8153513 2.4460538 2.7107982 2.9631831
## [22] 0.6730576 0.7407958 0.8153513 0.1851989 0.2024416 0.2243525
cb2 <- c('max','max','max', 'max','max','max', 'max','max','max') #  


FuzzyTOPSISVector(al1d2,dm1wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.7966875 0.4943258 1.3668842       3
## 2            2 0.6440108 0.6528116 1.0020775       5
## 3            3 0.6433482 0.6540672 1.0011744       6
## 4            4 0.7449698 0.4623679 1.1198514       4
## 5            5 0.8423689 0.3104013 1.2591467       1
## 6            6 0.1041110 1.5085183 0.1608673       7
## 7            7 0.8053407 0.4757634 1.3693134       2
# R: closeness coefficients, A frame 논문에서는 CC
# po
# 응답자 1의 비가중치 결과
weightsRaw<-c(1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1)

FuzzyTOPSISVector(al1d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.7256082 0.3751207 0.8759790       3
## 2            2 0.6619685 0.3924526 0.7222508       4
## 3            3 0.6284414 0.4393188 0.6927195       5
## 4            4 0.5486617 0.5088026 0.5800840       6
## 5            5 0.8023356 0.2194815 0.8407285       1
## 6            6 0.2511142 0.9593292 0.3024134       7
## 7            7 0.7542336 0.3297393 0.8825788       2
# 응답자 2
FuzzyTOPSISVector(al2d2,dm2wt,cb2)   ## weighted 
##   Alternatives     Def_R   posDis    negDis Ranking
## 1            1 0.2646238 1.702453 0.5120750       6
## 2            2 0.4499591 1.352703 0.9719631       3
## 3            3 0.4499591 1.352703 0.9719631       4
## 4            4 0.6029514 1.094592 1.4453932       2
## 5            5 0.4495274 1.353266 0.9705237       5
## 6            6 0.1503598 2.106994 0.3257438       7
## 7            7 1.0723768 0.000000 2.1348620       1
FuzzyTOPSISVector(al2d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R   posDis    negDis Ranking
## 1            1 0.2969351 1.087870 0.4328685       5
## 2            2 0.3262688 1.063677 0.4819986       3
## 3            3 0.3262688 1.063677 0.4819986       4
## 4            4 0.3389641 1.057156 0.5078160       2
## 5            5 0.2801517 1.084483 0.3895172       6
## 6            6 0.1089010 1.263035 0.1369384       7
## 7            7 1.0501304 0.000000 1.2712013       1
# 응답자 3
FuzzyTOPSISVector(al3d2,dm3wt,cb2)   ## weighted 
##   Alternatives     Def_R     posDis    negDis Ranking
## 1            1 0.2522305 0.95482716 0.3443723       5
## 2            2 0.9782241 0.05100014 1.1226898       2
## 3            3 0.9782241 0.05100014 1.1226898       3
## 4            4 0.5923663 0.48578683 0.7642210       4
## 5            5 0.1213989 1.09974831 0.1637879       7
## 6            6 0.2216824 1.00928133 0.3097071       6
## 7            7 1.0219647 0.00000000 1.1238496       1
FuzzyTOPSISVector(al3d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.2050031 0.6767711 0.1889803       7
## 2            2 0.7283478 0.2711145 0.7148495       2
## 3            3 0.7283478 0.2711145 0.7148495       3
## 4            4 0.5408306 0.4445283 0.5470222       4
## 5            5 0.2359696 0.6722083 0.2264257       5
## 6            6 0.2290337 0.6929481 0.2230928       6
## 7            7 1.0110320 0.0000000 0.7647467       1
# 응답자 4
FuzzyTOPSISVector(al4d2,dm4wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.0000000 1.9340407 0.0000000       7
## 2            2 0.8926938 0.3436458 1.7473079       3
## 3            3 0.9086947 0.2904144 1.7637587       2
## 4            4 0.9526339 0.2124958 1.8439651       1
## 5            5 0.7848761 0.5760941 1.5857424       5
## 6            6 0.4260283 1.5065039 0.9650416       6
## 7            7 0.8127791 0.4460788 1.4936969       4
FuzzyTOPSISVector(al4d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.0000000 1.3493632 0.0000000       7
## 2            2 0.8037002 0.3771356 1.1520052       5
## 3            3 0.8872758 0.2319176 1.2267148       2
## 4            4 0.9353814 0.1474141 1.2876948       1
## 5            5 0.8588681 0.2694116 1.2260149       3
## 6            6 0.2931237 1.2092493 0.4544495       6
## 7            7 0.8136928 0.3148110 1.0850304       4
# 응답자 5
FuzzyTOPSISVector(al5d2,dm5wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.5619825 0.3318973 0.3114126       4
## 2            2 0.4891778 0.4318600 0.3013277       6
## 3            3 0.5228674 0.3957193 0.3119977       5
## 4            4 0.8069689 0.2264910 0.4688079       2
## 5            5 0.5960550 0.3301447 0.3351763       3
## 6            6 0.3932536 0.5090483 0.2497142       7
## 7            7 1.2210918 0.0000000 0.5929415       1
FuzzyTOPSISVector(al5d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.4859296 0.5211551 0.5344241       3
## 2            2 0.4172533 0.7184521 0.5178221       6
## 3            3 0.4372284 0.6741121 0.5300310       4
## 4            4 0.6624150 0.3955773 0.7761154       2
## 5            5 0.4175279 0.6373268 0.4739238       5
## 6            6 0.3310483 0.8230991 0.4116199       7
## 7            7 1.0233335 0.0000000 0.9808518       1
# 응답자 6
FuzzyTOPSISVector(al6d2,dm6wt,cb2)   ## weighted 
##   Alternatives     Def_R     posDis    negDis Ranking
## 1            1 0.6798021 0.51166283 0.8791172       3
## 2            2 0.6798021 0.51166283 0.8791172       4
## 3            3 0.6798021 0.51166283 0.8791172       5
## 4            4 0.6847659 0.50150966 0.8844136       2
## 5            5 0.4314833 0.67367509 0.4485212       6
## 6            6 0.4194029 0.88441362 0.5015097       7
## 7            7 1.0344601 0.09530325 1.0161524       1
FuzzyTOPSISVector(al6d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6833426 0.3184239 0.6030517       3
## 2            2 0.6833426 0.3184239 0.6030517       4
## 3            3 0.6833426 0.3184239 0.6030517       5
## 4            4 0.7487195 0.2392803 0.6374823       2
## 5            5 0.4785708 0.4221849 0.3526025       6
## 6            6 0.3064156 0.6374823 0.2392803       7
## 7            7 0.8160405 0.2065986 0.6505784       1
# 응답자 7
FuzzyTOPSISVector(al7d2,dm7wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.7701838 0.5762743 0.9565538       4
## 2            2 0.5843394 0.8699260 0.8319819       5
## 3            3 1.0497625 0.2192527 1.4623648       3
## 4            4 1.1266308 0.1027297 1.4752244       2
## 5            5 0.5790551 0.8945952 0.8489961       6
## 6            6 0.1362823 1.4728755 0.1965431       7
## 7            7 1.2005488 0.0000000 1.4860201       1
FuzzyTOPSISVector(al7d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6972033 0.4268630 0.6873688       4
## 2            2 0.4739134 0.6325899 0.4490637       6
## 3            3 0.8248837 0.3250953 0.9033286       3
## 4            4 0.9628324 0.1518758 0.9483200       2
## 5            5 0.5681602 0.6094155 0.6447580       5
## 6            6 0.2656881 0.9335242 0.3110983       7
## 7            7 1.1104190 0.0000000 0.9843804       1
# 응답자 8
FuzzyTOPSISVector(al8d2,dm8wt,cb2)   ## weighted 
##   Alternatives     Def_R     posDis    negDis Ranking
## 1            1 0.8172133 0.19891036 0.4929192       6
## 2            2 0.9093395 0.12737020 0.5034409       3
## 3            3 0.9093395 0.12737020 0.5034409       4
## 4            4 0.9992815 0.07634053 0.5642864       1
## 5            5 0.8819378 0.15489036 0.4967029       5
## 6            6 0.2510559 0.55727141 0.1572726       7
## 7            7 0.9797195 0.08549389 0.5335773       2
FuzzyTOPSISVector(al8d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6241705 0.5608583 0.7604400       6
## 2            2 0.7410532 0.3652684 0.8225261       3
## 3            3 0.7410532 0.3652684 0.8225261       4
## 4            4 0.9104611 0.1815254 1.0115842       1
## 5            5 0.7240864 0.4092341 0.8205263       5
## 6            6 0.2399792 0.9654846 0.2857492       7
## 7            7 0.8213499 0.2700582 0.9286631       2
# 응답자 9
FuzzyTOPSISVector(al9d2,dm9wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.7774477 0.5616481 1.5823064       1
## 2            2 0.6230339 0.7983836 1.1978415       4
## 3            3 0.6230339 0.7983836 1.1978415       5
## 4            4 0.7504582 0.4693381 1.3104465       2
## 5            5 0.3553546 1.3928528 0.7415324       6
## 6            6 0.2552790 1.5875888 0.5263193       7
## 7            7 0.7067269 0.7220913 1.4968133       3
FuzzyTOPSISVector(al9d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6251990 0.7267491 0.9867237       5
## 2            2 0.6994544 0.4719511 0.9042668       3
## 3            3 0.6994544 0.4719511 0.9042668       4
## 4            4 0.7267614 0.4783408 0.9733899       2
## 5            5 0.5588063 0.7025687 0.7661243       6
## 6            6 0.2510259 1.1365240 0.3515980       7
## 7            7 0.8203771 0.3415670 1.1765446       1
# 응답자 10
FuzzyTOPSISVector(al10d2,dm10wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.3959214 0.9127218 0.5214722       5
## 2            2 0.4843439 0.7016989 0.6087001       3
## 3            3 0.4706102 0.7051107 0.5871007       4
## 4            4 0.6344804 0.5861953 0.8664242       2
## 5            5 0.2388065 1.0162037 0.2871826       7
## 6            6 0.3407354 0.8274494 0.3998454       6
## 7            7 1.0808012 0.0000000 1.0646762       1
FuzzyTOPSISVector(al10d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R   posDis    negDis Ranking
## 1            1 0.4671071 1.028388 0.8014436       3
## 2            2 0.3727687 1.131364 0.6314510       4
## 3            3 0.3479702 1.137662 0.5768051       6
## 4            4 0.5049673 0.892784 0.8131549       2
## 5            5 0.3497668 1.107300 0.5328039       5
## 6            6 0.3125691 1.200080 0.5124935       7
## 7            7 1.0666702 0.000000 1.3435805       1
# 응답자 11
FuzzyTOPSISVector(al11d2,dm11wt,cb2)   ## weighted 
##   Alternatives     Def_R     posDis    negDis Ranking
## 1            1 0.7864075 0.30891767 1.1754798       3
## 2            2 0.4655633 0.76406324 0.6720429       6
## 3            3 0.7037745 0.38708623 0.9427983       4
## 4            4 0.9709890 0.07896686 1.2261653       1
## 5            5 0.6434550 0.45879182 0.9048610       5
## 6            6 0.0000000 1.23343216 0.0000000       7
## 7            7 0.9523220 0.07996423 1.2198208       2
FuzzyTOPSISVector(al11d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6713300 0.4538069 0.7513045       3
## 2            2 0.4703619 0.6552317 0.4978346       6
## 3            3 0.5580024 0.5375919 0.5717336       5
## 4            4 0.7079835 0.4256338 0.7973010       2
## 5            5 0.5780148 0.5135775 0.5949592       4
## 6            6 0.0000000 1.0549598 0.0000000       7
## 7            7 0.9701144 0.1073052 1.0244336       1
# 응답자 12
FuzzyTOPSISVector(al12d2,dm12wt,cb2)   ## weighted 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.5663208 0.5314512 0.5162485       6
## 2            2 0.6652089 0.5365619 0.7396418       3
## 3            3 0.6652089 0.5365619 0.7396418       4
## 4            4 0.9598497 0.1812817 0.8928003       2
## 5            5 0.6581670 0.4499934 0.5992573       5
## 6            6 0.3494872 0.8677816 0.3782625       7
## 7            7 1.1496562 0.0000000 0.9466420       1
FuzzyTOPSISVector(al12d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6344823 0.3626724 0.5071207       3
## 2            2 0.5754171 0.4616183 0.5165198       4
## 3            3 0.5754171 0.4616183 0.5165198       5
## 4            4 0.7187349 0.2934849 0.5670569       2
## 5            5 0.5156233 0.4482801 0.4020124       6
## 6            6 0.3545969 0.6860570 0.3305757       7
## 7            7 1.0905804 0.0000000 0.7615480       1
# 응답자 13
FuzzyTOPSISVector(al13d2,dm13wt,cb2)   ## weighted 
##   Alternatives      Def_R     posDis    negDis Ranking
## 1            1 0.85943962 0.43476615 1.6354054       2
## 2            2 0.08524648 1.78680251 0.1564289       7
## 3            3 0.09180451 1.78111475 0.1666112       6
## 4            4 0.70166149 0.79819745 1.3786684       3
## 5            5 0.66403720 0.83488728 1.2371441       4
## 6            6 0.32486893 1.58056340 0.6736384       5
## 7            7 1.07655738 0.04120629 1.7976029       1
FuzzyTOPSISVector(al13d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.6355817 0.7523572 1.1151698       4
## 2            2 0.2663258 1.3094296 0.4476647       7
## 3            3 0.2831362 1.2698874 0.4655812       6
## 4            4 0.7179772 0.5384770 1.0999375       3
## 5            5 0.7851674 0.4445827 1.2115453       2
## 6            6 0.4119434 1.1549210 0.7252388       5
## 7            7 0.8480912 0.3628273 1.3337412       1
# 응답자 14
FuzzyTOPSISVector(al14d2,dm14wt,cb2)   ## weighted 
##   Alternatives      Def_R    posDis     negDis Ranking
## 1            1 1.04773991 0.0000000 1.00817932       1
## 2            2 0.65118884 0.3619808 0.68543242       4
## 3            3 0.62634073 0.4111394 0.68000663       5
## 4            4 0.68898469 0.3115430 0.71356429       3
## 5            5 0.29058848 0.7402290 0.31152966       6
## 6            6 0.08137918 0.9894883 0.08971975       7
## 7            7 1.04773991 0.0000000 1.00817932       2
FuzzyTOPSISVector(al14d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 1.0186773 0.0000000 0.8320371       1
## 2            2 0.4239224 0.5058746 0.3998763       4
## 3            3 0.3841475 0.5772222 0.3796892       5
## 4            4 0.6170486 0.3366813 0.5801267       3
## 5            5 0.1186983 0.7941338 0.1127558       7
## 6            6 0.1742702 0.7611945 0.1697723       6
## 7            7 1.0186773 0.0000000 0.8320371       2
# 응답자 15
FuzzyTOPSISVector(al15d2,dm15wt,cb2)   ## weighted 
##   Alternatives     Def_R     posDis     negDis Ranking
## 1            1 0.1171266 0.45404243 0.04891369       6
## 2            2 0.8516836 0.15746771 0.37275683       3
## 3            3 0.8516836 0.15746771 0.37275683       4
## 4            4 1.0763403 0.05737405 0.45106939       1
## 5            5 1.0079644 0.08922292 0.43524892       2
## 6            6 0.1071088 0.45558913 0.04382734       7
## 7            7 0.6987426 0.27026692 0.37153522       5
FuzzyTOPSISVector(al15d2,weightsRaw,cb2) ## un-weighted results. 
##   Alternatives     Def_R    posDis    negDis Ranking
## 1            1 0.1412233 0.8609100 0.1277506       6
## 2            2 0.7454736 0.3210857 0.6933082       4
## 3            3 0.7454736 0.3210857 0.6933082       5
## 4            4 0.8499779 0.2270419 0.7971615       1
## 5            5 0.7502750 0.3171841 0.6987157       3
## 6            6 0.1412233 0.8609100 0.1277506       7
## 7            7 0.7631117 0.3353046 0.7862438       2

전체 평가기준 가중치를 적용한 대안의 우선순위 결정

# 가중치 평균 Fuzzy 값 불러오기
#Entering Criteria w.r.t. 우주안보 제1기준 측면에서 대안 7개
# d2 각 전문가게 제시한 7개 대안에 대한 의 의견을 3개씩 3씩 Fuzzy값을 입력하기
## 메트릭스 입력 27개
## ncol = 27

dt <-(al1d2 + al2d2 + al3d2 + al4d2 + al5d2 + al6d2 + al7d2 + al8d2 + al9d2 + al10d2 + al11d2 + al12d2 + al13d2 + al14d2 + al15d2)/15  # 전체 대안에 대한 응답자의 평균값


wt <- (dm1wt + dm2wt + dm3wt + dm4wt + dm5wt + dm6wt +dm7wt +dm8wt + dm9wt + dm10wt + dm11wt + dm12wt + dm13wt + dm14wt + dm15wt)/15 # 전체 응답자의 가중치 평균
wt
##  [1] 0.7348387 0.8377025 0.9432824 1.6456547 1.8370044 1.9858375 0.3446642
##  [8] 0.4088281 0.4865514 1.7232929 1.9379101 2.1016000 0.7142729 0.8210657
## [15] 0.9213902 0.3058461 0.3496997 0.4176829 1.0389892 1.1741527 1.3010695
## [22] 1.4016987 1.5628902 1.6882222 0.3655214 0.4164419 0.4802368
FuzzyTOPSISVector(dt,wt,cb2)
##   Alternatives     Def_R     posDis    negDis Ranking
## 1            1 0.5773654 0.49782452 0.5538591       6
## 2            2 0.6403428 0.40169582 0.5731441       4
## 3            3 0.6948250 0.35495298 0.6274486       3
## 4            4 0.9305475 0.14844789 0.8555881       2
## 5            5 0.5826022 0.46238194 0.5435502       5
## 6            6 0.2142604 0.89760938 0.2191921       7
## 7            7 1.0582338 0.03436482 0.9440413       1
# po

민감도분석

기본 데이터 구축

# 기본
wt_b <- wt
base <- FuzzyTOPSISVector(dt,wt_b,cb2)
base <-base %>%
      rename(Base = Ranking) %>%
      dplyr::select(c(Alternatives, Base))
base      
##   Alternatives Base
## 1            1    6
## 2            2    4
## 3            3    3
## 4            4    2
## 5            5    5
## 6            6    7
## 7            7    1
# 안보(S+10%, S+20%, S+30%, S-10%, S-20%, S-30%)
wt_s10 <- c(wt[1]*1.1, wt[2]*1.1, wt[3]*1.1, wt[4]*1.1, wt[5]*1.1, wt[6]*1.1, wt[7]*1.1, wt[8]*1.1, wt[9]*1.1, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s10 <- FuzzyTOPSISVector(dt,wt_s10,cb2)
s10 <-s10 %>%
      rename(S10 = Ranking) %>%
      dplyr::select(c(S10))
s10
##   S10
## 1   5
## 2   4
## 3   3
## 4   2
## 5   6
## 6   7
## 7   1
wt_s20 <- c(wt[1]*1.2, wt[2]*1.2, wt[3]*1.2, wt[4]*1.2, wt[5]*1.2, wt[6]*1.2, wt[7]*1.2, wt[8]*1.2, wt[9]*1.2, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s20 <- FuzzyTOPSISVector(dt,wt_s20,cb2)
s20 <-s20 %>%
      rename(S20 = Ranking) %>%
      dplyr::select(c(S20))
s20
##   S20
## 1   5
## 2   4
## 3   3
## 4   2
## 5   6
## 6   7
## 7   1
wt_s30 <- c(wt[1]*1.3, wt[2]*1.3, wt[3]*1.3, wt[4]*1.3, wt[5]*1.3, wt[6]*1.3, wt[7]*1.3, wt[8]*1.3, wt[9]*1.3, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s30 <- FuzzyTOPSISVector(dt,wt_s30,cb2)
s30 <-s30 %>%
      rename(S30 = Ranking) %>%
      dplyr::select(c(S30))
s30
##   S30
## 1   5
## 2   4
## 3   3
## 4   2
## 5   6
## 6   7
## 7   1
wt_s_10 <- c(wt[1]*0.9, wt[2]*0.9, wt[3]*0.9, wt[4]*0.9, wt[5]*0.9, wt[6]*0.9, wt[7]*0.9, wt[8]*0.9, wt[9]*0.9, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s_10 <- FuzzyTOPSISVector(dt,wt_s_10,cb2)
s_10 <-s_10 %>%
      rename(S_10 = Ranking) %>%
      dplyr::select(c(S_10))
s_10
##   S_10
## 1    6
## 2    4
## 3    3
## 4    2
## 5    5
## 6    7
## 7    1
wt_s_20 <- c(wt[1]*0.8, wt[2]*0.8, wt[3]*0.8, wt[4]*0.8, wt[5]*0.8, wt[6]*0.8, wt[7]*0.8, wt[8]*0.8, wt[9]*0.8, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s_20 <- FuzzyTOPSISVector(dt,wt_s_20,cb2)
s_20 <-s_20 %>%
      rename(S_20 = Ranking) %>%
      dplyr::select(c(S_20))
s_20
##   S_20
## 1    6
## 2    4
## 3    3
## 4    2
## 5    5
## 6    7
## 7    1
wt_s_30 <- c(wt[1]*0.7, wt[2]*0.7, wt[3]*0.7, wt[4]*0.7, wt[5]*0.7, wt[6]*0.7, wt[7]*0.7, wt[8]*0.7, wt[9]*0.7, wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
s_30 <- FuzzyTOPSISVector(dt,wt_s_30,cb2)
s_30 <-s_30 %>%
      rename(S_30 = Ranking) %>%
      dplyr::select(c(S_30))
s_30
##   S_30
## 1    6
## 2    5
## 3    3
## 4    2
## 5    4
## 6    7
## 7    1
# 외교(F+10%, F+20%, F+30%, F-10%, F-20%, F-30%)
wt_f10 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*1.1, wt[11]*1.1, wt[12]*1.1, wt[13]*1.1, wt[14]*1.1, wt[15]*1.1, wt[16]*1.1, wt[17]*1.1, wt[18]*1.1, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f10 <- FuzzyTOPSISVector(dt,wt_f10,cb2)
f10 <-f10 %>%
      rename(F10 = Ranking) %>%
      dplyr::select(c(F10))
f10
##   F10
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_f20 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*1.2, wt[11]*1.2, wt[12]*1.2, wt[13]*1.2, wt[14]*1.2, wt[15]*1.2, wt[16]*1.2, wt[17]*1.2, wt[18]*1.2, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f20 <- FuzzyTOPSISVector(dt,wt_f10,cb2)
f20 <-f20 %>%
      rename(F20 = Ranking) %>%
      dplyr::select(c(F20))
f20
##   F20
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_f30 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*1.3, wt[11]*1.3, wt[12]*1.3, wt[13]*1.3, wt[14]*1.3, wt[15]*1.3, wt[16]*1.3, wt[17]*1.3, wt[18]*1.3, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f30 <- FuzzyTOPSISVector(dt,wt_f30,cb2)
f30 <-f30 %>%
      rename(F30 = Ranking) %>%
      dplyr::select(c(F30))
f30
##   F30
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_f_10 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*0.9, wt[11]*0.9, wt[12]*0.9, wt[13]*0.9, wt[14]*0.9, wt[15]*0.9, wt[16]*0.9, wt[17]*0.9, wt[18]*0.9, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f_10 <- FuzzyTOPSISVector(dt,wt_f_10,cb2)
f_10 <-f_10 %>%
      rename(F_10 = Ranking) %>%
      dplyr::select(c(F_10))
f_10
##   F_10
## 1    6
## 2    4
## 3    3
## 4    2
## 5    5
## 6    7
## 7    1
wt_f_20 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*0.8, wt[11]*0.8, wt[12]*0.8, wt[13]*0.8, wt[14]*0.8, wt[15]*0.8, wt[16]*0.8, wt[17]*0.8, wt[18]*0.8, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f_20 <- FuzzyTOPSISVector(dt,wt_f_20,cb2)
f_20 <-f_20 %>%
      rename(F_20 = Ranking) %>%
      dplyr::select(c(F_20))
f_20
##   F_20
## 1    6
## 2    4
## 3    3
## 4    2
## 5    5
## 6    7
## 7    1
wt_f_30 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10]*0.7, wt[11]*0.7, wt[12]*0.7, wt[13]*0.7, wt[14]*0.7, wt[15]*0.7, wt[16]*0.7, wt[17]*0.7, wt[18]*0.7, wt[19], wt[20], wt[21], wt[22], wt[23], wt[24], wt[25], wt[26], wt[27])
f_30 <- FuzzyTOPSISVector(dt,wt_f_30,cb2)
f_30 <-f_30 %>%
      rename(F_30 = Ranking) %>%
      dplyr::select(c(F_30))
f_30
##   F_30
## 1    6
## 2    4
## 3    3
## 4    2
## 5    5
## 6    7
## 7    1
# 경제(E+10%, E+20%, E+30%, E-10%, E-20%, E-30%)
wt_e10 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*1.1, wt[20]*1.1, wt[21]*1.1, wt[22]*1.1, wt[23]*1.1, wt[24]*1.1, wt[25]*1.1, wt[26]*1.1, wt[27]*1.1)
e10 <- FuzzyTOPSISVector(dt,wt_e10,cb2)
e10 <-e10 %>%
      rename(E10 = Ranking) %>%
      dplyr::select(c(E10))
e10
##   E10
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_e20 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*1.2, wt[20]*1.2, wt[21]*1.2, wt[22]*1.2, wt[23]*1.2, wt[24]*1.2, wt[25]*1.2, wt[26]*1.2, wt[27]*1.2)
e20 <- FuzzyTOPSISVector(dt,wt_e10,cb2)
e20 <-e20 %>%
      rename(E20 = Ranking) %>%
      dplyr::select(c(E20))
e20
##   E20
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_e30 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*1.3, wt[20]*1.3, wt[21]*1.3, wt[22]*1.3, wt[23]*1.3, wt[24]*1.3, wt[25]*1.3, wt[26]*1.3, wt[27]*1.3)
e30 <- FuzzyTOPSISVector(dt,wt_e30,cb2)
e30 <-e30 %>%
      rename(E30 = Ranking) %>%
      dplyr::select(c(E30))
e30
##   E30
## 1   6
## 2   4
## 3   3
## 4   2
## 5   5
## 6   7
## 7   1
wt_e_10 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*0.9, wt[20]*0.9, wt[21]*0.9, wt[22]*0.9, wt[23]*0.9, wt[24]*0.9, wt[25]*0.9, wt[26]*0.9, wt[27]*0.9)
e_10 <- FuzzyTOPSISVector(dt,wt_e_10,cb2)
e_10 <-e_10 %>%
      rename(E_10 = Ranking) %>%
      dplyr::select(c(E_10))
e_10
##   E_10
## 1    5
## 2    4
## 3    3
## 4    2
## 5    6
## 6    7
## 7    1
wt_e_20 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*0.8, wt[20]*0.8, wt[21]*0.8, wt[22]*0.8, wt[23]*0.8, wt[24]*0.8, wt[25]*0.8, wt[26]*0.8, wt[27]*0.8)
e_20 <- FuzzyTOPSISVector(dt,wt_e_20,cb2)
e_20 <-e_20 %>%
      rename(E_20 = Ranking) %>%
      dplyr::select(c(E_20))
e_20
##   E_20
## 1    5
## 2    4
## 3    3
## 4    2
## 5    6
## 6    7
## 7    1
wt_e_30 <- c(wt[1], wt[2], wt[3], wt[4], wt[5], wt[6], wt[7], wt[8], wt[9], wt[10], wt[11], wt[12], wt[13], wt[14], wt[15], wt[16], wt[17], wt[18], wt[19]*0.7, wt[20]*0.7, wt[21]*0.7, wt[22]*0.7, wt[23]*0.7, wt[24]*0.7, wt[25]*0.7, wt[26]*0.7, wt[27]*0.7)
e_30 <- FuzzyTOPSISVector(dt,wt_e_30,cb2)
e_30 <-e_30 %>%
      rename(E_30 = Ranking) %>%
      dplyr::select(c(E_30))
e_30
##   E_30
## 1    5
## 2    4
## 3    3
## 4    2
## 5    6
## 6    7
## 7    1
library(dplyr)
library(tidyr)
library(tibble)
library(purrr)
library(scales)
## 
## 다음의 패키지를 부착합니다: 'scales'
## The following objects are masked from 'package:psych':
## 
##     alpha, rescale
## The following object is masked from 'package:purrr':
## 
##     discard
## The following object is masked from 'package:readr':
## 
##     col_factor
library(ggplot2)

ggspider <- function(p_data, 
legend_title = "Group", 
background_color = "gray97", 
area_fill = TRUE, 
central_distance = 0.2, 
axis_name_offset = 0.2){

circle_coords <- function(r, n_axis = ncol(p_data) - 1){
  fi <- seq(0, 2*pi, (1/n_axis)*2*pi) + pi/2
  x <- r*cos(fi)
  y <- r*sin(fi)
  
  tibble(x, y, r)
}

(step_1 <- map_df(seq(0, 1, 0.25) + central_distance, circle_coords) %>%
    ggplot(aes(x, y)) +
    geom_polygon(data = circle_coords(1 + central_distance), alpha = 1, fill = background_color) +
    geom_path(aes(group = r), lty = 2, alpha = 0.5) +
    theme_void())


axis_coords <- function(n_axis){
  fi <- seq(0, (1 - 1/n_axis)*2*pi, (1/n_axis)*2*pi) + pi/2
  x1 <- central_distance*cos(fi)
  y1 <- central_distance*sin(fi)
  x2 <- (1 + central_distance)*cos(fi)
  y2 <- (1 + central_distance)*sin(fi)
  
  tibble(x = c(x1, x2), y = c(y1, y2), id = rep(1:n_axis, 2))
}

text_data <- p_data %>%
  dplyr::select(-group) %>%
  map_df(~ min(.) + (max(.) - min(.)) * seq(0, 1, 0.25)) %>%
  mutate(r = seq(0, 1, 0.25)) %>%
  pivot_longer(-r, names_to = "parameter", values_to = "value")

text_coords <- function(r, n_axis = ncol(p_data) - 1){
  fi <- seq(0, (1 - 1/n_axis)*2*pi, (1/n_axis)*2*pi) + pi/2 + 0.01*2*pi/r
  x <- r*cos(fi)
  y <- r*sin(fi)
  
  tibble(x, y, r = r - central_distance)
}

labels_data <- map_df(seq(0, 1, 0.25) + central_distance, text_coords) %>%
  bind_cols(text_data %>% dplyr::select(-r))


rescaled_coords <- function(r, n_axis){
  fi <- seq(0, 2*pi, (1/n_axis)*2*pi) + pi/2
  tibble(r, fi) %>% mutate(x = r*cos(fi), y = r*sin(fi)) %>% dplyr::select(-fi)
}

rescaled_data <- p_data %>% 
  mutate(across(-group, rescale)) %>%
  mutate(copy = pull(., 2)) %>%
  pivot_longer(-group, names_to = "parameter", values_to = "value") %>%
  group_by(group) %>%
  mutate(coords = rescaled_coords(value + central_distance, ncol(p_data) - 1)) %>%
  unnest
    
  step_1 + 
    geom_line(data = axis_coords(ncol(p_data) - 1), 
              aes(x, y, group = id), alpha = 0.3) +
    geom_point(data = rescaled_data, 
              aes(x, y, group = group, col = group), size = 3) +
    geom_path(data = rescaled_data, 
              aes(x, y, group = group, col = group), size = 1) +
    {if(area_fill == TRUE) geom_polygon(data = rescaled_data, 
                            aes(x, y, group = group, 
                                col = group, fill = group), 
                                size = 1, alpha = 0.05, show.legend = FALSE)} +
    geom_text(data = labels_data, 
                     aes(x, y, label = value), alpha = 0.65) +
    geom_text(data = text_coords(1 + central_distance + axis_name_offset), 
              aes(x, y), label = labels_data$parameter[1:(ncol(p_data)-1)]) +
    labs(col = legend_title) +
    theme(legend.position = "right",
          legend.text = element_text(size = 12),
          legend.title = element_text(size = 12))
}
p_data <- cbind(base, s10, s20, s30, s_10, s_20, s_30, f10, f20, f30, f_10, f_20, f_30, e10, e20, e30, e_10, e_20, e_30)
p_data <- p_data %>%
          rename(group = Alternatives)
p_data
##   group Base S10 S20 S30 S_10 S_20 S_30 F10 F20 F30 F_10 F_20 F_30 E10 E20 E30
## 1     1    6   5   5   5    6    6    6   6   6   6    6    6    6   6   6   6
## 2     2    4   4   4   4    4    4    5   4   4   4    4    4    4   4   4   4
## 3     3    3   3   3   3    3    3    3   3   3   3    3    3    3   3   3   3
## 4     4    2   2   2   2    2    2    2   2   2   2    2    2    2   2   2   2
## 5     5    5   6   6   6    5    5    4   5   5   5    5    5    5   5   5   5
## 6     6    7   7   7   7    7    7    7   7   7   7    7    7    7   7   7   7
## 7     7    1   1   1   1    1    1    1   1   1   1    1    1    1   1   1   1
##   E_10 E_20 E_30
## 1    5    5    5
## 2    4    4    4
## 3    3    3    3
## 4    2    2    2
## 5    6    6    6
## 6    7    7    7
## 7    1    1    1
ggspider(p_data)
## Warning: `cols` is now required when using `unnest()`.
## ℹ Please use `cols = c(coords)`.
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# 아래를 실행하면, p_data.tiff 파일(그림파일)이 자동생성됩니다. 이를 논문에 첨부하시기 바랍니다.
tiff('p_data.tiff', units="in", width=5, height=4, res=300, compression = 'lzw')
ggspider(p_data)
## Warning: `cols` is now required when using `unnest()`.
## ℹ Please use `cols = c(coords)`.
dev.off()
## png 
##   2

AHP CR

library(ahpsurvey)
library(Matrix)
## 
## 다음의 패키지를 부착합니다: 'Matrix'
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
atts <- c("first_scond", "first_third", "second_third")

listdm1 <- as.matrix(data_list$dm1)
listdm2 <- as.matrix(data_list$dm2)
listdm3 <- as.matrix(data_list$dm3)
listdm4 <- as.matrix(data_list$dm4)
listdm5 <- as.matrix(data_list$dm5)
listdm6 <- as.matrix(data_list$dm6)
listdm7 <- as.matrix(data_list$dm7)
listdm8 <- as.matrix(data_list$dm8)
listdm9 <- as.matrix(data_list$dm9)
listdm10 <- as.matrix(data_list$dm10)
listdm11 <- as.matrix(data_list$dm11)
listdm12 <- as.matrix(data_list$dm12)
listdm13 <- as.matrix(data_list$dm13)
listdm14 <- as.matrix(data_list$dm14)
listdm15 <- as.matrix(data_list$dm15)


listdm <- t(cbind(c(listdm1[1,2],listdm1[1,3], listdm1[2,3]), 
                     c(listdm2[1,2],listdm2[1,3], listdm2[2,3]), 
                     c(listdm3[1,2],listdm3[1,3], listdm3[2,3]), 
                     c(listdm4[1,2],listdm4[1,3], listdm4[2,3]), 
                     c(listdm5[1,2],listdm5[1,3], listdm5[2,3]), 
                     c(listdm6[1,2],listdm6[1,3], listdm6[2,3]), 
                     c(listdm7[1,2],listdm7[1,3], listdm7[2,3]), 
                     c(listdm8[1,2],listdm8[1,3], listdm8[2,3]), 
                     c(listdm9[1,2],listdm9[1,3], listdm9[2,3]), 
                     c(listdm10[1,2],listdm10[1,3], listdm10[2,3]), 
                     c(listdm11[1,2],listdm11[1,3], listdm11[2,3]), 
                     c(listdm12[1,2],listdm12[1,3], listdm12[2,3]), 
                     c(listdm13[1,2],listdm13[1,3], listdm13[2,3]), 
                     c(listdm14[1,2],listdm14[1,3], listdm14[2,3]), 
                     c(listdm15[1,2],listdm15[1,3], listdm15[2,3])))
listdm<-as.matrix(listdm)
colnames(listdm) <- c("first_scond", "first_third", "second_third")

listdm %>%
  ahp.mat(atts = atts, negconvert = TRUE) %>% 
  ahp.cr(atts)
##  [1] 0.41480883 0.53395584 0.28065225 0.11778435 0.05105177 0.23511932
##  [7] 0.20694457 0.05105177 0.15541155 0.53395584 0.41480883 0.34983223
## [13] 0.00000000 0.09514400 0.05105177