La técnica de análisis de varianza (ANOVA) también conocida como análisis factorial y desarrollada por Fisher en 1930, constituye la herramienta básica para el estudio del efecto de uno o más factores (cada uno con dos o más niveles) sobre la media de una variable continua.
Es por lo tanto el test estadÃstico a emplear cuando se desea comparar las medias de dos o más grupos. Esta técnica puede generalizarse también para estudiar los posibles efectos de los factores sobre la varianza de una variable.
La hipótesis nula de la que parten los diferentes tipos de ANOVA es que la media de la variable estudiada es la misma en los diferentes grupos, en contraposición a la hipótesis alternativa de que al menos dos medias difieren de forma significativa.
ANOVA permite comparar múltiples medias, pero lo hace mediante el estudio de las varianzas.
# si tienen diferentes caracteristicas estadisticas el anova nos indica tratamientos diferentes
El funcionamiento básico de un ANOVA consiste en calcular la media de cada uno de los grupos para a continuación comparar la varianza de estas medias (varianza explicada por la variable grupo, intervarianza) frente a la varianza promedio dentro de los grupos (la no explicada por la variable grupo, intravarianza).
Bajo la hipótesis nula de que las observaciones de los distintos grupos proceden todas la misma población (tienen la misma media y varianza), la varianza ponderada entre grupos será la misma que la varianza promedio dentro de los grupos.
Conforme las medias de los grupos estén más alejadas las unas de las otras, la varianza entre medias se incrementará y dejará de ser igual a la varianza promedio dentro de los grupos.
Ya que los procedimientos ANOVA de dos muestras permiten comparar las medias de dos poblaciones o las respuestas medias a dos tratamientos de un experimento. Sin embargo, en ocasiones necesitamos comparar más de 2 grupos. El modelo del Análisis de la Varianza (ANOVA), nos permitirá abordar este tipo de situaciones. Lo vemos con un ejemplo:
Estamos interesados en conocer si hay colores más atractivos para los insectos. Para ello se diseñaron trampas con los siguientes colores: amarillo, azul, blanco y verde. Se cuantificó el número de insectos que quedaban atrapados:
Generamos dos variables: insectos es la variable respuesta y colores es la variable factor (establece los grupos de interés):
insectos <- c(16,11,20,21,14,7,37,32,15,25,39,41,21,12,14,17,13,17,45,59,48,46,38,47)
colores <- as.factor(c(rep(c("azul", "verde", "blanco", "amarillo"), each =6)))
Exploramos los datos de la muestra:
boxplot(insectos ~ colores, col = c("yellow", "blue", "white","green"), ylab = "Número de insectos atrapados")
#muestra la media de las diferentes variables
tapply(insectos, colores, mean)
## amarillo azul blanco verde
## 47.16667 14.83333 15.66667 31.50000
Esta es la forma de pedir un ANOVA en R:
#guardar en objeto, aplicamos modelo lineal, propio de R
fm = aov( lm(insectos ~ colores) )
Pedimos un resumen de la tabla del ANOVA
# tres asteristicos estadisticamente significativo
summary(fm)
## Df Sum Sq Mean Sq F value Pr(>F)
## colores 3 4218 1406 30.55 1.15e-07 ***
## Residuals 20 921 46
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Elementos generados en el ANOVA:
names(fm)
## [1] "coefficients" "residuals" "effects" "rank"
## [5] "fitted.values" "assign" "qr" "df.residual"
## [9] "contrasts" "xlevels" "call" "terms"
## [13] "model"
Identifica en la tabla ANOVA los grados de libertad del factor, los grados de libertad residuales, la suma de cuadrados de los grupos, la suma de cuadrados del error, las medias correspondientes de las sumas de cuadrados de los grupos y del error, el valor del estadÃstico F. Describe cómo obtenemos cada uno de ellos.
¿Cuál es el valor crÃtico de F bajo la hipótesis nula con un nivel de significación alfa = 0.05? (Este valor nos delimitará la región de aceptación y rechazo)
Bajo la Ho el estadÃstico de contraste F se distribuye como una F de grados de libertad (I-1), (n-I) donde I es el número de grupos que disponemos y n el tamaño total de la muestral. Asà obtenemos el cuantil buscado:
# nivel d esignificancia, i-1, n-1
# distribucion chi cuadrado
qf(0.05, 3-1, 18-3, lower.tail = F)
## [1] 3.68232
Valores del estadÃstico > 3.68232 estarán incluidos en la región de rechazo. En nuetro caso 30.55 es mucho mayor que el valor crÃtico obtenido.
¿Qué valor de la tabla ANOVA nos proporciona la varianza muestral común (pooled variance en inglés)? ¿Para qué es útil?
La raÃz cuadrada de la media de los cuadrados del error, además de proporcionarnos una estimación de la varianza muestral de todos los datos, se utiliza en la obtención de los intervalos de confianza de las medias en cada uno de los grupos de interés.
Por ejemplo, este serÃa el intervalo de confianza de la media de los insectos capturados para las trampas amarillas, con un nivel de confianza del 95%:
# intervalo de confianza sirve para hacer predicciones
media <- mean(insectos[colores =="amarillo"])
valor_t <- pt(0.05/2, 18 - 3)
sp <- sqrt(46) #desviación tÃpica de la varianza muestral común
ee <- valor_t * (sp/ sqrt(6)) #error de estimación
media
## [1] 47.16667
lÃmite superior del intervalo de confianza de la media de insectos capturados para las trampas amarillas
media + ee
## [1] 48.57826
lÃmite inferior del intervalo de confianza de la media de insectos capturados para las trampas amarillas
media - ee
## [1] 45.75507
Si hemos detectado diferencias significativas entre las medias de las poblaciones. ¿SerÃa posible saber cuáles son los grupos que generan estas diferencias?
intervals = TukeyHSD(fm)
intervals
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = lm(insectos ~ colores))
##
## $colores
## diff lwr upr p adj
## azul-amarillo -32.3333333 -43.296330 -21.37034 0.0000004
## blanco-amarillo -31.5000000 -42.462996 -20.53700 0.0000006
## verde-amarillo -15.6666667 -26.629663 -4.70367 0.0036170
## blanco-azul 0.8333333 -10.129663 11.79633 0.9964823
## verde-azul 16.6666667 5.703670 27.62966 0.0020222
## verde-blanco 15.8333333 4.870337 26.79633 0.0032835
plot(intervals)
Explica las diferencias existentes por parejas de trampas según el color. ¿Algunas de estas diferencias son significativas? Si el objetivo es atrapar un mayor número de insectos, ¿con qué tipo de trampas te quedarÃas?
A partir de los residuos del modelo comprobaremos si el modelo ANOVA es adecuado. Los supuestos que se deben cumplir son tres: independencia, homocedasticidad y normalidad.
plot(fm$residuals)
Los gráficos y descriptivos nos informan si se verifica la igualdad de varianzas en los grupos descritos:
summary(fm$residuals)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -16.5000 -2.9167 0.1667 0.0000 5.2083 11.8333
boxplot(fm$residuals)
hist(fm$residuals)
# se observa si se asemeja a una campana de Gauss
qqnorm(fm$residuals)
qqline(fm$residuals)
# mayor o igual a 0.05 son normales
El test de Shapiro-Wilk indica que no tenemos evidencia suficiente para rechazar la hipótesis nula (normalidad de los residuos)
shapiro.test(fm$residuals)
##
## Shapiro-Wilk normality test
##
## data: fm$residuals
## W = 0.97337, p-value = 0.75
Los gráficos y descriptivos nos informan si se verifica la igualdad de varianzas en los grupos descritos:
boxplot(fm$residuals~colores, col = c("yellow", "blue", "white","green"))
# la varianza de los grupos se obtiene a partir de los residuos
desviaciones <- tapply(fm$residuals, colores, sd)
Comparando la desviación máxima con la mÃnima obtenemos una orientación sobre la falta de homocedasticidad (>2 aproximadamente)
# valor extrictamente mayor que 2 no hay homocedastidad o la varianza es diferente
max(desviaciones) / min(desviaciones)
## [1] 2.980357
El test de Bartlett indica que no tenemos evidencia suficiente para rechazar la hipótesis nula (las varianzas son iguales)
bartlett.test(fm$residuals ~ colores)
##
## Bartlett test of homogeneity of variances
##
## data: fm$residuals by colores
## Bartlett's K-squared = 5.2628, df = 3, p-value = 0.1535
MAS DE UNA VARIABLE ¿Qué hipótesis contrasta el test ANOVA?
Ho: las medias son iguales en todas las poblaciones
Ha: hay alguna media distinta
¿Qué hipótesis contrasta la prueba de Kruskal-Wallis?
Ho: la variable respuesta es la misma en todas las poblaciones valoradas
Ha: la variable respuesta es mayor en alguna de las poblaciones
Cuando no se cumplen las hipótesis exigidas por el modelo ANOVA, es posible utilizar la prueba no paramétrica Kruskal-Wallis: ¿hay diferencias significativas entre las poblaciones?
kruskal.test(insectos, colores)
##
## Kruskal-Wallis rank sum test
##
## data: insectos and colores
## Kruskal-Wallis chi-squared = 16.975, df = 3, p-value = 0.000715
#SI ES MAYOR A O.O5 RECHAZO HIPOTESIS ALTERNATIVA
Indica cuál es el estadÃstico de contraste, los grados de libertad, el p-valor correspondiente y cuál serÃa el valor crÃtico que definirÃa las regiones de aceptación y rechazo con un nivel de significación alfa = 0.05.
Bajo la Ho el estadÃstico de contraste H del test de Kruskal-Wallis se distribuye como una Chi-cuadrado de grados de libertad (I-1) (donde I es el número de grupos que disponemos). Asà obtenemos el cuantil buscado:
qchisq(0.05, 3-1, lower.tail = F)
## [1] 5.991465
Valores del estadÃstico > 5.991465 estarán incluidos en la región de rechazo. En nuetro caso 16.9755 es mucho mayor que el valor crÃtico obtenido.
Si transformáramos los datos de la variable respuesta, utilizando logaritmos y después aplicáramos el test de KrusKal-Wallis al logaritmo del número de insectos atrapados, ¿variarÃan los resultados del test estadÃstico?
kruskal.test(log(insectos), colores)
##
## Kruskal-Wallis rank sum test
##
## data: log(insectos) and colores
## Kruskal-Wallis chi-squared = 16.975, df = 3, p-value = 0.000715
Los resultados son exactamente los mismos. No se producen variaciones porque el test de Kruskal-Wallis trabaja sobre rangos, es decir, sobre ordenaciones de los valores de la variable en cada uno de los grupos. Aunque realicemos una transformación logarÃtmica, el orden entre los valores de la variable se mantiene y por lo tanto la transformación no afecta a los resultados del test.
Si hemos detectado diferencias significativas en la variable respuesta para las distintas poblaciones. ¿SerÃa posible saber cuáles son los grupos que generan estas diferencias?
library(PMCMR)
## PMCMR is superseded by PMCMRplus and will be no longer maintained. You may wish to install PMCMRplus instead.
posthoc.kruskal.nemenyi.test(insectos, colores, method = "Chisq")
## Warning in posthoc.kruskal.nemenyi.test.default(insectos, colores, method =
## "Chisq"): Ties are present, p-values are not corrected.
##
## Pairwise comparisons using Tukey and Kramer (Nemenyi) test
## with Tukey-Dist approximation for independent samples
##
## data: insectos and colores
##
## amarillo azul blanco
## azul 0.0022 - -
## blanco 0.0039 0.9985 -
## verde 0.4068 0.1878 0.2559
##
## P value adjustment method: none
Relaciones sexuales entre universitarios
El departamento de PsicologÃa de una Universidad de Castilla-La Mancha ha realizado un estudio sobre hábitos, preferencias y satisfacción sexual en estudiantes universitarios. Hemos utilizado los datos que recogieron en sus encuestas y queremos conocer si existen diferencias entre la frecuencia mensual de relaciones sexuales de estudiantes universitarios pertenecientes a tres titulaciones universitarias diferentes:
T1: 11 14 7 15 11 13 11 16 10 15 18 12 9 9 10 10 15 10 14 10 10 12 14 12 15 7 13 6 10 15 20 10 13 10 6 14 8 10 8 11
T2: 13 10 12 7 5 10 10 16 9 7 7 2 6 9 9 8 8 10 3 6 5 2 9 3 4 5 10 8 5 9 10 8 13 10 0 2 1 1 0 4
T3: 6 7 3 5 9 6 1 6 0 2 5 6 11 6 7 0 5 7 5 4 7 4 2 8 9 6 1 4 7 7 8 9 7 5 1 6 9 4 7 6
Contesta las siguientes preguntas:
Generamos dos variables: frecuencia de actividad sexual es la variable respuesta y titulacion es la variable factor (establece los grupos de interés):
frecs <- c(11,14,7,15,11,13,11,16,10,15,18,12,9,9,10,10,15,10,14,10,10,12,14,12,15,7,13,6,10,15,20,10,13,10,6,14,8,10,8,11,13,10,12,7,5,10,10,16,9,7,7,2,6,9,9,8,8,10,3,6,5,2,9,3,4,5,10,8,5,9,10,8,13,10,0,2,1,1,0,4,6,7,3,5,9,6,1,6,0,2,5,6,11,6,7,0,5,7,5,4,7,4,2,8,9,6,1,4,7,7,8,9,7,5,1,6,9,4,7,6)
titulacion <- as.factor(c(rep(c("T1", "T2", "T3"), each =40)))
Exploramos los datos de la muestra:
boxplot(frecs ~ titulacion, col = c("pink", "blue", "green"), ylab = "Frecuencia sexual de los estudiantes")
#muestra la media de las diferentes variables
tapply(frecs, titulacion, mean)
## T1 T2 T3
## 11.60 6.90 5.45
RESPUESTA:SI SE OBSERVA DIFERENCIA ENTRE LOS VALORES PROMEDIOS Y DE VARIABILIDAD DE LOS TRES GRUPOS, SIENDO MAS SIGNIFICATIVA LA VARIABILIDAD ENTRE EL GRUPO T1 Y EL T3
RESPUESTA:
H0:Todas las medias son iguales
H1:Las medias son distintas
fm = aov( lm(frecs ~ titulacion) )
summary(fm)
## Df Sum Sq Mean Sq F value Pr(>F)
## titulacion 2 826.9 413.4 38.98 1.07e-13 ***
## Residuals 117 1241.1 10.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
qf(0.05, 3-1, 120-2, lower.tail = F)
## [1] 3.07309
# intervalo de confianza sirve para hacer predicciones
media <- mean(frecs[titulacion =="T1"])
valor_t <- pt(0.05/2, 120 - 2)
sp <- sqrt(10.6) #desviación tÃpica de la varianza muestral común
ee <- valor_t * (sp/ sqrt(40)) #error de estimación
media
## [1] 11.6
RESPUESTA: La tabla ANOVA indica que no existen diferencias estadisticas significativas entre la frecuencia sexual de los tres grupos de titulacion analizados
LÃmite superior del intervalo de confianza de la frecuencia sexual de los estudiantes del grupo de titulacion T1
media + ee
## [1] 11.86251
lÃmite inferior del intervalo de confianza de la frecuencia sexual de los estudiantes del grupo de titulacion T1
media - ee
## [1] 11.33749
intervals = TukeyHSD(fm)
intervals
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = lm(frecs ~ titulacion))
##
## $titulacion
## diff lwr upr p adj
## T2-T1 -4.70 -6.428861 -2.9711395 0.0000000
## T3-T1 -6.15 -7.878861 -4.4211395 0.0000000
## T3-T2 -1.45 -3.178861 0.2788605 0.1189269
plot(intervals)
A partir de los residuos del modelo comprobaremos si el modelo ANOVA es adecuado. Los supuestos que se deben cumplir son tres: independencia, homocedasticidad y normalidad.
plot(fm$residuals)
### Normalidad Los gráficos y descriptivos nos informan si se verifica la igualdad de varianzas en los grupos descritos:
summary(fm$residuals)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -6.900 -1.900 0.400 0.000 2.175 9.100
boxplot(fm$residuals)
hist(fm$residuals)
qqnorm(fm$residuals)
qqline(fm$residuals)
# mayor o igual a 0.05 son normales
El test de Shapiro-Wilk indica que no tenemos evidencia suficiente para rechazar la hipótesis nula (normalidad de los residuos)
shapiro.test(fm$residuals)
##
## Shapiro-Wilk normality test
##
## data: fm$residuals
## W = 0.98473, p-value = 0.1945
Los gráficos y descriptivos nos informan si se verifica la igualdad de varianzas en los grupos descritos:
boxplot(fm$residuals~titulacion, col = c("pink", "blue", "green"))
desviaciones <- tapply(fm$residuals, titulacion, sd)
Comparando la desviación máxima con la mÃnima obtenemos una orientación sobre la falta de homocedasticidad (>2 aproximadamente)
# valor extrictamente mayor que 2 no hay homocedastidad o la varianza es diferente
max(desviaciones) / min(desviaciones)
## [1] 1.45217
bartlett.test(fm$residuals ~ titulacion)
##
## Bartlett test of homogeneity of variances
##
## data: fm$residuals by titulacion
## Bartlett's K-squared = 5.3467, df = 2, p-value = 0.06902
RESPUESTA:Segun las pruebas realizadas de independencia, normalidad y homocedasticidad se deduce que la prueba ANOVA es confiable para el conjunto de datos
INDEPENDENCIA La grafica nos muestra datos no correlacionados
NORMALIDAD p-value = 0.1945>0.05 por lo tanto los datos siguen distribucion normal
HOMOCEDASTICIDAD 1.45217<2 por lo tanto las varianzas son iguales
El test de Bartlett indica que no tenemos evidencia suficiente para rechazar la hipótesis nula (las varianzas son iguales)
MAS DE UNA VARIABLE ¿Qué hipótesis contrasta el test ANOVA?
Ho: las medias son iguales en todas las poblaciones
Ha: hay alguna media distinta
¿Qué hipótesis contrasta la prueba de Kruskal-Wallis?
Ho: la variable respuesta es la misma en todas las poblaciones valoradas
Ha: la variable respuesta es mayor en alguna de las poblaciones
Cuando no se cumplen las hipótesis exigidas por el modelo ANOVA, es posible utilizar la prueba no paramétrica Kruskal-Wallis: ¿hay diferencias significativas entre las poblaciones?
kruskal.test(frecs, titulacion)
##
## Kruskal-Wallis rank sum test
##
## data: frecs and titulacion
## Kruskal-Wallis chi-squared = 51.504, df = 2, p-value = 6.547e-12
qchisq(0.05, 3-1, lower.tail = F)
## [1] 5.991465
kruskal.test(log(frecs), titulacion)
##
## Kruskal-Wallis rank sum test
##
## data: log(frecs) and titulacion
## Kruskal-Wallis chi-squared = 51.504, df = 2, p-value = 6.547e-12
¿Hay diferencias de salario en función del lugar de trabajo?
Nos gustarÃa saber si el salario varÃa en alguna de las 3 provincias del Ecuador. Para ello, se realizó un estudio con 50 personas por provincia a las que se preguntó su salario en euros por semana.
Quito: 299 313 300 321 308 312 300 310 281 308 309 300 303 303 311 308 291 298 276 290 310 308 295 310 286 295 289 293 291 297 297 287 297 302 298 301 313 290 306 313 294 308 295 303 316 299 313 296 290 299
Cuenca: 252 248 232 229 256 233 240 237 248 232 230 246 236 250 238 243 245 241 235 249 238 231 230 239 261 243 242 245 249 258 245 236 244 242 229 246 244 244 255 247 236 252 237 259 248 237 236 252 236 239
Guayaquil: 272 268 285 274 278 287 297 275 269 281 270 284 282 281 280 286 265 283 281 272 269 286 268 288 284 282 304 280 283 281 281 286 287 288 278 272 268 287 269 272 270 271 291 265 280 280 275 294 269 277
Contesta las siguientes preguntas:
Introduce los datos en R creando las 2 variables: una que incluya los salarios y otra que será un factor, que nos proporcionará información sobre la provincia donde trabajando los sujetos.
Explora los datos de la muestra mediante gráficos y descriptivos. ¿Observamos diferencias en los valores promedios y de variabilidad por grupos?
Realiza un test F (ANOVA) para comparar las medias de las 3 poblaciones. ¿Cuáles serÃan las hipótesis nula y alternativa?
Describe los resultados obtenidos indicando quién es el valor del estadÃstico de contraste (F), los grados de libertad del factor, los grados de libertad residuales y el valor de P.
También indica quién serÃa el valor crÃtico de F bajo la hipótesis nula, que nos proporcionará la definición de una región de aceptación y rechazo (consideramos un nivel de significación alfa = 0.05).
¿Qué valor obtenemos para la estimación de la varianza común de los datos?
Tras evaluar la tabla ANOVA, ¿cuál serÃa tu conclusión en el contexto del problema?
Determina los intervalos de confianza para las medias de salario en cada una de las provincias descritas.
Si se han obtenido diferencias significativas entre los grupos, determina dónde se muestran esas diferencias utilizando el test HSD de Tukey. Representa gráficamente las diferencias encontradas e intrepreta los resultados obtenidos.
A partir de los residuos obtenidos y mediante procedimientos gráficos, confirma la validez del modelo comprobando el cumplimiento de las 3 condiciones asumidas al hacer el ANOVA. ¿Crees que el modelo ANOVA utilizado es válido para estos datos?
Si NO se verificaran estas condiciones, ¿hay alguna prueba no paramétrica para abordar los datos? Pruébalo y comenta los resultados obtenidos.
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
library(raster)
## Loading required package: sp
##
## Attaching package: 'raster'
## The following object is masked from 'package:dplyr':
##
## select
ec_provincias <- getData("GADM",country="ECU",level=1) # si es el de provincias
ec_cantones <- getData("GADM",country="ECU",level=2)
ec_parroquias <- getData("GADM",country="ECU",level=3)
xlim_provincias <- ec_provincias@bbox[1,]
ylim_provincias <- ec_provincias@bbox[2,]
centroides_provincias<-coordinates(ec_provincias)
par(bg="white")
plot(0, 0, type="n", ann=FALSE, axes=FALSE)
par(new=TRUE)
plot(ec_provincias, xlim=xlim_provincias, ylim=ylim_provincias)
text(centroides_provincias,ec_provincias$NAME_1 ,cex=0.75)
View(ec_provincias@data)
centroides_provincias1<-coordinates(ec_provincias[c(1,19,10),])
par(bg="white")
plot(0, 0, type="n", ann=FALSE, axes=FALSE)
par(new=TRUE)
plot(ec_provincias, xlim=xlim_provincias, ylim=ylim_provincias)
text(centroides_provincias1,ec_provincias$NAME_1[c(1,19,10)] ,cex=0.75)
Pichincha <- c(299, 313, 300, 321, 308, 312, 300, 310, 281, 308, 309, 300, 303, 303, 311, 308, 291, 298, 276, 290, 310, 308, 295, 310, 286, 295, 289, 293, 291, 297, 297, 287, 297, 302, 298, 301, 313, 290, 306, 313, 294, 308, 295, 303, 316, 299, 313, 296, 290, 299)
Azuay <- c(252, 248, 232, 229, 256, 233, 240, 237, 248, 232, 230, 246, 236, 250, 238, 243, 245, 241, 235, 249, 238 ,231, 230, 239, 261, 243, 242, 245, 249, 258, 245, 236, 244, 242, 229, 246, 244, 244, 255, 247, 236 ,252 ,237 ,259 ,248 ,237 ,236, 252, 236, 239)
Guayas <- c (272, 268, 285, 274, 278, 287, 297, 275, 269, 281, 270, 284, 282, 281, 280, 286, 265, 283, 281, 272, 269, 286, 268, 288, 284, 282, 304, 280, 283, 281, 281, 286, 287, 288, 278, 272, 268, 287, 269, 272, 270, 271, 291, 265, 280, 280, 275, 294, 269, 277)
sueldo <- data.frame(provincia=rep("Azuay",length(Azuay)),cantidad=Azuay)
sueldo <- rbind(sueldo,data.frame(provincia=rep("Guayas",length(Guayas)),cantidad=Guayas))
sueldo <- rbind(sueldo,data.frame(provincia=rep("Pichincha",length(Pichincha)),cantidad=Pichincha))
View(sueldo)
sueldo_medio <- sueldo %>% group_by(provincia) %>% summarise(media=mean(cantidad))
sueldo_medio <- sueldo_medio %>% arrange(media)
sueldo_medio$color <- colorRampPalette(c("yellow","orange","red"))(nrow(sueldo_medio))
w<-ec_provincias@data$NAME_1[!ec_provincias@data$NAME_1 %in%unique(sueldo_medio$provincia)]
z<-ec_provincias@data$NAME_1[ec_provincias@data$NAME_1 %in%unique(sueldo_medio$provincia)]
par(bg="lightblue")
plot(0, 0, type="n", ann=FALSE, axes=FALSE)
par(new=TRUE)
plot(ec_provincias[ec_provincias$NAME_1 %in% z[1],], xlim=xlim_provincias, ylim=ylim_provincias,col = sueldo_medio$color[sueldo_medio$provincia==z[1]])
for (i in 2:length(z)) {
plot(ec_provincias[ec_provincias$NAME_1 %in% z[i],], xlim=xlim_provincias, ylim=ylim_provincias,col = sueldo_medio$color[sueldo_medio$provincia==z[i]],add=T)
}
plot(ec_provincias[ec_provincias$NAME_1 %in% w,], xlim=xlim_provincias, ylim=ylim_provincias,col = "darkolivegreen1",add=T)
text(centroides_provincias,ec_provincias$NAME_1,cex=0.75)