EJERCICIO 1

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

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

El experto 1, tiene 10 años de experiencia y asignó el siguiente ranking 4,3,3,1,4,5

El experto 2, 15 años de trabajar en el mismo rubro de la ONG y asignó el siguiente ranking a las variables: 4,4,2,1,2,3

Y el experto 3, 5 años de experiencia en la tematica de la ONG, y asignó el siguiente ranking a las variables: 5,6,4,1,3,2

Se va a ponderar a cada experto por sus años de experiencia, y los expertos 1 y 3 han asignado su ranking asumiendo que los pesos para el indicador, se obtendrá mediante ranking reciproco, por otro lado, el experto 2 los asignó proponiendo que los pesos se obtengan a través del ranking exponencial, saturando fuertemente los primeros lugares (sugiere un valor de p=4)

Obtenga los ponderadores para las variables, a partir de la sugerencia de los expertos.

library(readxl)
data_expertos <- read_excel("data_expertos.xlsx")

print(data_expertos)
## # A tibble: 6 × 3
##   `Experto 1` `Experto 2` `Experto 3`
##         <dbl>       <dbl>       <dbl>
## 1           4           4           5
## 2           3           4           6
## 3           3           2           4
## 4           1           1           1
## 5           4           2           3
## 6           5           3           2
#Carga de funciones hechas en clases
library(magrittr)
library(dplyr)
ponderadores_subjetivos_rank_reciproco<-function(vector_jerarquias){
  vector_pesos<-1/vector_jerarquias
 vector_pesos/sum(vector_pesos)
}
ponderadores_subjetivos_rank_exponencial<-function(vector_jerarquias,p=2){
  n<-length(vector_jerarquias)
  vector_pesos<-(n-vector_jerarquias+1)^p
  vector_pesos/sum(vector_pesos)
}

#Ranking Reciproco

data_expertos[,c(1,3)] %>% apply(2,ponderadores_subjetivos_rank_reciproco) %>% as.data.frame() %>% bind_cols(as.data.frame(data_expertos[,2] %>% apply(2,ponderadores_subjetivos_rank_exponencial,p=4))) ->ponderadores_expertos
ponderadores_expertos
##    Experto 1  Experto 3  Experto 2
## 1 0.10563380 0.08163265 0.02732794
## 2 0.14084507 0.06802721 0.02732794
## 3 0.14084507 0.10204082 0.21086370
## 4 0.42253521 0.40816327 0.43724696
## 5 0.10563380 0.13605442 0.21086370
## 6 0.08450704 0.20408163 0.08636977
#Ranking Exponencial
ponderadores_expertos %>% 
  mutate(W = round(10 / 30 * `Experto 1` + 15 / 30 *`Experto 2` + 5 / 30 * `Experto 3`,
                   digits = 3) * 100)
##    Experto 1  Experto 3  Experto 2    W
## 1 0.10563380 0.08163265 0.02732794  6.2
## 2 0.14084507 0.06802721 0.02732794  7.2
## 3 0.14084507 0.10204082 0.21086370 16.9
## 4 0.42253521 0.40816327 0.43724696 42.7
## 5 0.10563380 0.13605442 0.21086370 16.3
## 6 0.08450704 0.20408163 0.08636977 10.5