El índice de Blau, conodido también como D de Simpson, fue propuesto incialmente por Simpson (1949) con el objetivo de medir diversidad de especies en ecosistemas (Harrison y Klein, 2007). Sin embargo, su aplicación el ámbito de ciencias sociales como medida de diversidad o heterogeneidad fue popularizada por Blau por lo que en este campo es más conocido como Índice de Blau (ver Blau, 1977; Rushton, 2008; Biemann y Kearney, 2010). De acuerdo a McDonald y Dimmick (2003), quienes testean una serie de índices para calcular diversidad, este posee una correlación sobre o superior a 0.95 con otras medidas similares, lo cual permite utilizar esta medida como un índice confiable para la estimación de diversidad.
La fórmula que representa el índice de Blau es
\[D= 1-\sum p_i^2 (1)\]
donde \[D\] representa el índice de blau el cual es igual a 1 menos la sumatoria de la proporción de sujetos en cada categoría elevada al cuadrado, como se ve en la siguiente ecuación (1), donde, \[p_i^2\] es la proporción en una determinada categoría, de tal modo que, para valores más cercanos a uno, el estadístico indica mayor presencia de heterogeneidad.
Para el cálculo de esta medida, utilizaremos la base de datos longitudinal, ELSOC (ola 2016), en formato R la cual puede ser descargada en el siguiente link https://www.dataverse.harvard.edu/file.xhtml?persistentId=doi:10.7910/DVN/JDJLPQ/CJJV3T&version=3.0.
Lo invitamos también a poder revisar el repositorio https://www.dataverse.harvard.edu/dataverse/coes_data_repository donde podrá encontrar disponible los datos de 2017, 2018 de la encuesta ELSOC en diversos formatos, así como también su cuestionario. En este link usted podrá también podrá encontrar las bases de datos corresponientes a otras encuestas realizadas por el centro.
Para más información de COES o ELSOC, lo invitamos a revisar https://www.coes.cl/ y https://www.elsoc.cl/
Para este procedimiento utilizamos la librería “dplyr” y la base elsoc_2016
Antes de comenzar, recuerde:
Instalar las librerías utilizadas. Para ello utilice el comando install.packges de R.
Asegurese de modificar la ruta donde tiene alojado el archivo de extensión .RData (“C:/Users/…/ELSOC_W01_v4.00_R.RData”)
#### Para instalaar librería descomente la linea siguiente y ejecute.
# install.packages("dplyr")
#### Cargar libreria y base de elsoc_2016
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
load("C:/Users/rober/Downloads/ELSOC_W01_v4.01_R.RData")
El índice de blau será calculado con los ítems del generador de posiciones codificados bajo el prefijo (r01), el cual pregunta al entrevistado por 13 ocupaciones de diverso prestigio ocupacional. Estas son:
Gerente empresa multinacional, Vendedor ambulante, Secretario, Mecanico de autos, Vendedor de tienda, Abogado , Aseador , Medico , Parvulario , Chofer de taxi, Camarero, Contador y Profesor Universitario.
Los ítems del generador de posicionnes son variables ordinales de 7 categorías que consulta la cantidad de conocidos del entrevistado en cada ocupación.
<-dplyr::select(elsoc_2016,
Blau starts_with("r01")
)
== -999]<-NA
Blau[Blau == -888]<-NA
Blau[Blau
summary(Blau)
## r01_01 r01_02 r01_03 r01_04
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :2.000 Median :2.000 Median :2.000
## Mean :1.718 Mean :2.208 Mean :2.188 Mean :2.233
## 3rd Qu.:2.000 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:3.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## NA's :9 NA's :9 NA's :10 NA's :8
## r01_05 r01_06 r01_07 r01_08
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :1.000 Median :1.000 Median :1.000
## Mean :2.496 Mean :1.792 Mean :1.855 Mean :1.982
## 3rd Qu.:3.000 3rd Qu.:2.000 3rd Qu.:3.000 3rd Qu.:3.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## NA's :9 NA's :8 NA's :9 NA's :9
## r01_09 r01_10 r01_11 r01_12
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :1.000 Median :1.000
## Mean :2.127 Mean :2.243 Mean :1.574 Mean :1.861
## 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:2.000 3rd Qu.:3.000
## Max. :7.000 Max. :7.000 Max. :7.000 Max. :7.000
## NA's :8 NA's :8 NA's :7 NA's :8
## r01_13
## Min. :1.000
## 1st Qu.:1.000
## Median :1.000
## Mean :1.827
## 3rd Qu.:2.000
## Max. :7.000
## NA's :8
Dado que las variables son categorías, se genera variables numérica a las que se le imputa el valor medio a cada categoría. Ej. Si el entrevistado dice que conoce entre 5 y 7 abogados, el valor imputado será 7
#### Asignar valor medio a cada categoría de respuesta
<-c(0,1,3,6,9,13,16)
x
for(i in 1:nrow(Blau)){
for(j in 2:ncol(Blau)){
=x[Blau[i,j]]
Blau[i,j]
}
}
#### Se asigna el valor 0 cuando la celda tiene valor NA
is.na(Blau)] <-0 Blau[
Se calcula el tamaño de la red total y se guardar en una variable (size) y se filtran los sujetos que poseen 0 conocidos en su red.
#Sumar el cálculo
$size<-rowSums(Blau[,1:13])
Blau
#Hay que eliminar casos con valor 0
<-Blau%>%
Blaufilter(size>0)
Se genera la proporción de conocidos en cada para ocupación
\[p_i^2\]
$p01_01<-(Blau$r01_01/Blau$size)*(Blau$r01_01/Blau$size)
Blau$p01_02<-(Blau$r01_02/Blau$size)*(Blau$r01_02/Blau$size)
Blau$p01_03<-(Blau$r01_03/Blau$size)*(Blau$r01_03/Blau$size)
Blau$p01_04<-(Blau$r01_04/Blau$size)*(Blau$r01_04/Blau$size)
Blau$p01_05<-(Blau$r01_05/Blau$size)*(Blau$r01_05/Blau$size)
Blau$p01_06<-(Blau$r01_06/Blau$size)*(Blau$r01_06/Blau$size)
Blau$p01_07<-(Blau$r01_07/Blau$size)*(Blau$r01_07/Blau$size)
Blau$p01_08<-(Blau$r01_08/Blau$size)*(Blau$r01_08/Blau$size)
Blau$p01_09<-(Blau$r01_09/Blau$size)*(Blau$r01_09/Blau$size)
Blau$p01_10<-(Blau$r01_10/Blau$size)*(Blau$r01_10/Blau$size)
Blau$p01_11<-(Blau$r01_11/Blau$size)*(Blau$r01_11/Blau$size)
Blau$p01_12<-(Blau$r01_12/Blau$size)*(Blau$r01_12/Blau$size)
Blau$p01_13<-(Blau$r01_13/Blau$size)*(Blau$r01_13/Blau$size) Blau
Se estima Blau para cada sujeto de la red
\[D= 1-\sum p_i^2 (1)\]
$Blau=1-rowSums(Blau[,15:27]) Blau
<-hist(Blau$Blau) hist.Blau
jpeg("Blau.jpg")
plot(hist.Blau<-hist(Blau$Blau))
dev.off()
## png
## 2