¿Son en promedio más caras las Ues privadas?

Noticia original: http://www.emol.com/noticias/Nacional/2016/06/15/807981/U-del-Desarrollo-es-la-mas-cara-del-pais-y-U-de-Chile-la-mas-costosa-de-las-estatales.html

Datos en https://dl.dropboxusercontent.com/u/1111274/arancel_ues.html

Datos 15/06/2016

options(scipen=999) 

df <- read.csv("ues.csv", header = T, sep=",")

Descripción de los datos

str(df)
## 'data.frame':    51 obs. of  4 variables:
##  $ Pos          : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Universidad  : Factor w/ 51 levels "Arcis","Inacap",..: 32 4 33 13 41 44 48 42 7 25 ...
##  $ Arancel....  : int  5342713 4994269 4758855 4605745 4040831 4018127 3941168 3905439 3824598 3783279 ...
##  $ Clasificación: Factor w/ 3 levels "Estatal","Privada Cruch",..: 3 3 3 2 3 3 3 3 3 1 ...
promedio <- mean(df$Arancel....)
hist(df$Arancel....)
abline(v=promedio, col = 2)

tapply(df$Arancel...., df$Clasificación, mean)
##          Estatal    Privada Cruch Privada No Cruch 
##          2557057          3011401          2914887
tapply(df$Arancel...., df$Clasificación, sd)
##          Estatal    Privada Cruch Privada No Cruch 
##         595911.3         696783.8        1083270.9

El promedio del arancel de una estatal es promedio(desvest) $2.557.057(595.911), una privada Cruch $3.011.401(696.783) y una privada no Cruch $2.914.887(1.083.270)

graphs

privadasnocruch <- df[df$Clasificación=="Privada No Cruch", ]
privadascruch <- df[df$Clasificación=="Privada Cruch", ]
estatales <- df[df$Clasificación=="Estatal", ]

hist(estatales$Arancel....)

hist(privadascruch$Arancel....)

hist(privadasnocruch$Arancel....)

hist(privadasnocruch$Arancel...., xlim=c(1000000,6000000), col="red")
hist(privadascruch$Arancel...., add=T, col=rgb(0.1, 0.5, 1,0.5) )
hist(estatales$Arancel...., add=T, col=rgb(0.1, 0.9, 0.5,0.5) )

df2 <- df[order(df$Arancel....),]

row.names(df2) <- df2$Universidad 
dotchart(df2$Arancel...., labels = rownames(df2), 
         cex = 0.5, main = "Arancel universidades chilenas", 
         xlab = "Arancel en millones de pesos chilenos")


library("ggplot2")

ggplot(df, aes(x = Clasificación, y = Arancel....)) +
  geom_boxplot(fill = "grey80", colour = "blue") +
  scale_x_discrete() + xlab("Tipo de Universidad") +
  ylab("Arancel en millones de pesos")

Análisis de diferencias

diferencia <- aov(df$Arancel....~df$Clasificación)
summary(diferencia)
##                  Df         Sum Sq      Mean Sq F value Pr(>F)
## df$Clasificación  2  1467751838487 733875919243   0.859   0.43
## Residuals        48 41002709847043 854223121813
par(mfrow=c(2,2)) #numero de figuras en el plot;c(filas,columnas) 
par(mar=c(5,6,4,2)+0.1)
plot(diferencia)

par(mfrow=c(1,1))
boxplot(df$Arancel....~df$Universidad)

mod1 <- lm(df$Arancel.... ~ df$Clasificación)
summary(mod1)
## 
## Call:
## lm(formula = df$Arancel.... ~ df$Clasificación)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1577249  -634886   -61611   340624  2427826 
## 
## Coefficients:
##                                  Estimate Std. Error t value
## (Intercept)                       2557057     256339   9.975
## df$ClasificaciónPrivada Cruch      454344     400778   1.134
## df$ClasificaciónPrivada No Cruch   357830     308489   1.160
##                                           Pr(>|t|)    
## (Intercept)                      0.000000000000275 ***
## df$ClasificaciónPrivada Cruch                0.263    
## df$ClasificaciónPrivada No Cruch             0.252    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 924200 on 48 degrees of freedom
## Multiple R-squared:  0.03456,    Adjusted R-squared:  -0.005667 
## F-statistic: 0.8591 on 2 and 48 DF,  p-value: 0.4299
anova(mod1)
## Analysis of Variance Table
## 
## Response: df$Arancel....
##                  Df         Sum Sq      Mean Sq F value Pr(>F)
## df$Clasificación  2  1467751838487 733875919243  0.8591 0.4299
## Residuals        48 41002709847043 854223121813
confint(mod1)
##                                      2.5 %    97.5 %
## (Intercept)                      2041653.4 3072460.0
## df$ClasificaciónPrivada Cruch    -351474.0 1260163.1
## df$ClasificaciónPrivada No Cruch -262428.7  978088.5
mod <- data.frame(Fitted = fitted(mod1),
                       Residuals = resid(mod1), Grupos = df$Clasificación)

ggplot(mod, aes(Fitted, Residuals, colour = Grupos)) + geom_point()

mod2 <- aov(df$Arancel.... ~ df$Clasificación)
summary(mod2)
##                  Df         Sum Sq      Mean Sq F value Pr(>F)
## df$Clasificación  2  1467751838487 733875919243   0.859   0.43
## Residuals        48 41002709847043 854223121813
TukeyHSD(mod2)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = df$Arancel.... ~ df$Clasificación)
## 
## $`df$Clasificación`
##                                     diff       lwr       upr     p adj
## Privada Cruch-Estatal          454344.53 -514932.5 1423621.6 0.4983578
## Privada No Cruch-Estatal       357829.89 -388246.8 1103906.6 0.4826168
## Privada No Cruch-Privada Cruch -96514.64 -949420.4  756391.2 0.9595879
par(mfrow=c(1,1)) #numero de figuras en el plot;c(filas,columnas) 
par(mar=c(5,6,4,2)+0.1)
plot(TukeyHSD(mod2), las=1)