#PARTE 2 40% (PRACTICA)

EJERCICIO 1

Una institucion no gubernamental (ONG) debe generar una linea base sobre la cual pueda verificar el desempeño de sus funciones de acuerdo a sus estatutos, para ello ha considerado crear un indicador, que debe de sintetizar la informacion de 6 variables de interes para tal fin (X1, X2, X3, X4, X5, X6).

Para ello han contratado a un consultor, que ha recurrido a la opinion de 3 expertos en el area, para asignar los ponderadores del indicador, deacuerdo a la importancia de las variables que cada uno considera

El experto 1, tiene 10 años de experiencia y asigno el siguiente Ranking a las variables:

El experto 2, 15 años de trabajar en el mismo rubro de la ONG y asigno el siguiente ranking a las variables:

Y el experto 3, 5 años de experiencia en la tematica de la ONG, y asigno el siguiente ranking de variables:

Se va a pinderar a cada experto por sus años de experiencia, y los expertos 1 y 3 han asignado un ranking asumiendo que los pesos para el indicador, se obtendran mediante ranking reciproco, por otro lado, el experto 2 los asigno proponiendo que los pesos se obtengan a travez del ranking exponencial, saturando fuertemente los primeros lugares(sugiere un valor p=4)

OBTENGA LOS PONDERADORES PARA LAS VARIABLES, A PARTIR DE LAS SUGERENCIAS DE LOS EXPERTOS.

CARGAR LA DATA BASE

load("C:/Users/50379/Downloads/6-2.RData")

1. Jerarquía de Suma Experto 1

library(magrittr)
#Vector de Jerarquías
rj<-c(4,3,3,1,4,5)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_suma<-function(vector_jerarquias){
  n<-length(vector_jerarquias)
  vector_pesos<-n-vector_jerarquias+1
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_suma<-ponderadores_subjetivos_rank_suma(rj)

#Pesos brutos
pesos_ranking_suma$w_brutos
## X1 X2 X3 X4 X5 x6 
##  3  4  4  6  3  2
#Pesos normalizados
pesos_ranking_suma$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.136 0.182 0.182 0.273 0.136 0.091
#Gráfico de los pesos normalizados
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking de Suma",
        ylim = c(0,0.5),col = "pink")

2. Jerarquía Reciproca

library(magrittr)
#Vector de Jerarquías
rj<-c(4,3,3,1,4,5)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_reciproco<-function(vector_jerarquias){
  vector_pesos<-1/vector_jerarquias
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_reciproco<-ponderadores_subjetivos_rank_reciproco(rj)

#Pesos brutos
pesos_ranking_reciproco$w_brutos
##        X1        X2        X3        X4        X5        x6 
## 0.2500000 0.3333333 0.3333333 1.0000000 0.2500000 0.2000000
#Pesos normalizados
pesos_ranking_reciproco$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.106 0.141 0.141 0.423 0.106 0.085
#Gráfico de los pesos normalizados
barplot(pesos_ranking_reciproco$w_normalizados,
        main = "Ponderadores Ranking Recíproco",
        ylim = c(0,0.5),col = "pink")

3. Jerarquía Exponencial

library(magrittr)
#Vector de Jerarquías
rj<-c(4,3,3,1,4,5)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_exponencial<-function(vector_jerarquias,p=2){
  n<-length(vector_jerarquias)
  vector_pesos<-(n-vector_jerarquias+1)^p
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_exponencial<-ponderadores_subjetivos_rank_exponencial(rj)

#Pesos brutos
pesos_ranking_exponencial$w_brutos
## X1 X2 X3 X4 X5 x6 
##  9 16 16 36  9  4
#Pesos normalizados
pesos_ranking_exponencial$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.100 0.178 0.178 0.400 0.100 0.044
#Gráfico de los pesos normalizados (por default p=2)
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking Exponencial",
        ylim = c(0,0.5),col = "pink")

1. Jerarquía de Suma Experto 2

library(magrittr)
#Vector de Jerarquías
rj<-c(4,4,2,1,2,3)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_suma<-function(vector_jerarquias){
  n<-length(vector_jerarquias)
  vector_pesos<-n-vector_jerarquias+1
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_suma<-ponderadores_subjetivos_rank_suma(rj)

#Pesos brutos
pesos_ranking_suma$w_brutos
## X1 X2 X3 X4 X5 x6 
##  3  3  5  6  5  4
#Pesos normalizados
pesos_ranking_suma$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.115 0.115 0.192 0.231 0.192 0.154
#Gráfico de los pesos normalizados
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking de Suma",
        ylim = c(0,0.5),col = "purple")

2. Jerarquía Reciproca

library(magrittr)
#Vector de Jerarquías
rj<-c(4,4,2,1,2,3)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_reciproco<-function(vector_jerarquias){
  vector_pesos<-1/vector_jerarquias
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_reciproco<-ponderadores_subjetivos_rank_reciproco(rj)

#Pesos brutos
pesos_ranking_reciproco$w_brutos
##        X1        X2        X3        X4        X5        x6 
## 0.2500000 0.2500000 0.5000000 1.0000000 0.5000000 0.3333333
#Pesos normalizados
pesos_ranking_reciproco$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.088 0.088 0.176 0.353 0.176 0.118
#Gráfico de los pesos normalizados
barplot(pesos_ranking_reciproco$w_normalizados,
        main = "Ponderadores Ranking Recíproco",
        ylim = c(0,0.5),col = "purple")

3. Jerarquía Exponencial

library(magrittr)
#Vector de Jerarquías
rj<-c(4,4,2,1,2,3)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_exponencial<-function(vector_jerarquias,p=2){
  n<-length(vector_jerarquias)
  vector_pesos<-(n-vector_jerarquias+1)^p
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_exponencial<-ponderadores_subjetivos_rank_exponencial(rj)

#Pesos brutos
pesos_ranking_exponencial$w_brutos
## X1 X2 X3 X4 X5 x6 
##  9  9 25 36 25 16
#Pesos normalizados
pesos_ranking_exponencial$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.075 0.075 0.208 0.300 0.208 0.133
#Gráfico de los pesos normalizados (por default p=2)
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking Exponencial",
        ylim = c(0,0.5),col = "purple")

1. Jerarquía de Suma Experto3

library(magrittr)
#Vector de Jerarquías
rj<-c(5,6,4,1,3,2)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_suma<-function(vector_jerarquias){
  n<-length(vector_jerarquias)
  vector_pesos<-n-vector_jerarquias+1
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_suma<-ponderadores_subjetivos_rank_suma(rj)

#Pesos brutos
pesos_ranking_suma$w_brutos
## X1 X2 X3 X4 X5 x6 
##  2  1  3  6  4  5
#Pesos normalizados
pesos_ranking_suma$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.095 0.048 0.143 0.286 0.190 0.238
#Gráfico de los pesos normalizados
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking de Suma",
        ylim = c(0,0.5),col = "blue")

2. Jerarquía Reciproca

library(magrittr)
#Vector de Jerarquías
rj<-c(5,6,4,1,3,2)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_reciproco<-function(vector_jerarquias){
  vector_pesos<-1/vector_jerarquias
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_reciproco<-ponderadores_subjetivos_rank_reciproco(rj)

#Pesos brutos
pesos_ranking_reciproco$w_brutos
##        X1        X2        X3        X4        X5        x6 
## 0.2000000 0.1666667 0.2500000 1.0000000 0.3333333 0.5000000
#Pesos normalizados
pesos_ranking_reciproco$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.082 0.068 0.102 0.408 0.136 0.204
#Gráfico de los pesos normalizados
barplot(pesos_ranking_reciproco$w_normalizados,
        main = "Ponderadores Ranking Recíproco",
        ylim = c(0,0.5),col = "blue")

3. Jerarquía Exponencial

library(magrittr)
#Vector de Jerarquías
rj<-c(5,6,4,1,3,2)
names(rj)<-c("X1","X2","X3","X4","X5", "x6")

#Función para generar los pesos
ponderadores_subjetivos_rank_exponencial<-function(vector_jerarquias,p=2){
  n<-length(vector_jerarquias)
  vector_pesos<-(n-vector_jerarquias+1)^p
  list(w_brutos=vector_pesos,w_normalizados=vector_pesos/sum(vector_pesos))
}
#Aplicando la función:
pesos_ranking_exponencial<-ponderadores_subjetivos_rank_exponencial(rj)

#Pesos brutos
pesos_ranking_exponencial$w_brutos
## X1 X2 X3 X4 X5 x6 
##  4  1  9 36 16 25
#Pesos normalizados
pesos_ranking_exponencial$w_normalizados %>% round(digits = 3)
##    X1    X2    X3    X4    X5    x6 
## 0.044 0.011 0.099 0.396 0.176 0.275
#Gráfico de los pesos normalizados (por default p=2)
barplot(pesos_ranking_suma$w_normalizados,
        main = "Ponderadores Ranking Exponencial",
        ylim = c(0,0.5),col = "blue")