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")))
}
## 엑셀파일에 입력하기
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
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
## 엑셀파일에 입력하기
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
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
# 가중치 평균 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
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