1. Pasos en tu computadora:

  1. En su computadora cree un folder llamado “Proyecto_Estadistica”
  2. Abra RStudio.
  3. Desde RStudio ingrese al folder creado en el paso A.
  4. Cree un nuevo Notebook y guardelo con el nombre “codigos.RMD”. Este archivo debe guardarse en el folder creado.
  5. Dentro del folder “Proyecto_Estadistica”, cree un folder llamado “data”. Puede usar RStudio para ello.
  6. Ponga su archivo de datos en en el folder “data”

2. Lectura y Preparación de datos:

  1. Verifique que tiene instalado el paquete readxl, si no está, proceda a instalarlo. Luego lea sus datos así
library(readxl)

misDatos <- read_excel("data/pavimentando.xlsx") # ponga el nombre de su archivo.
  1. Vea el nombre de sus columnas (nombre de las variables)
names(misDatos)
## [1] "poblacioncienmil" "nbi"              "consejocomunal"   "priorizado"      
## [5] "uribista"         "ejecucion"        "pctopo"           "apropiaciondolar"

Los nombres no deben tener espacios ni acentos ni la letra ñ. SI es necesario, cámbielas en Excel y vuelva a cargar (rehaga todo lo anterior).

  1. Verifique que R tenga los datos correctos:

  2. Verifique que los numeros no estén entre comillas.

  3. Verifique que si tiene una variable ordinal (p.ejem. ‘alto’,‘medio’,‘bajo’), esté como factor, es decir, de tipo categórico.

str(misDatos)
## tibble [1,096 × 8] (S3: tbl_df/tbl/data.frame)
##  $ poblacioncienmil: num [1:1096] 0.0922 0.0493 0.1228 0.2741 0.0851 ...
##  $ nbi             : num [1:1096] 66.7 86.2 69.7 18.4 52.3 ...
##  $ consejocomunal  : num [1:1096] 0 0 0 0 0 0 0 0 0 0 ...
##  $ priorizado      : num [1:1096] 0 0 0 1 0 0 0 0 0 0 ...
##  $ uribista        : num [1:1096] 0 0 1 0 0 0 1 0 0 0 ...
##  $ ejecucion       : num [1:1096] 0 0 0 0 0 0 0 0 0 0 ...
##  $ pctopo          : num [1:1096] 99.4 96 94.4 94.1 94 ...
##  $ apropiaciondolar: num [1:1096] 0 0 9.218 0.394 0 ...

En este caso, las variables “consejocomunal”,“priorizado”,“uribista”,“ejecucion” deberían ser factor (pero no son ordinales):

misDatos$consejocomunal=factor(misDatos$consejocomunal,
                               levels = c(0,1), # lo que hay en la data actual
                               labels = c("_no","_si"), # como aparecerá ahora
                               ordered = FALSE) # TRUE si fuera ordinal

misDatos$priorizado=factor(misDatos$priorizado,
                               levels = c(0,1),
                               labels = c("_no","_si"),
                               ordered = FALSE)

misDatos$uribista=factor(misDatos$uribista,
                               levels = c(0,1),
                               labels = c("_no","_si"),
                               ordered = FALSE)

misDatos$ejecucion=factor(misDatos$ejecucion,
                               levels = c(0,1),
                               labels = c("_no","_si"),
                               ordered = FALSE)

3. Explorar la Variable Dependiente

Esta es la variable central de tu estudio.

summary(misDatos$apropiaciondolar)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.000   0.000   8.276   9.385 132.643

Preguntense: - La media resume bien? Una media representativa nos hace pensar que los valores de la variable orbitan cerca a ella. Si la media y la mediana están muy lejossabes que hay desigualdad en esa variable.

4. Exploración Bivariada

Aquí debes comparar la Variable Dependiente con cada una de las demás.

  1. Comparando con las otras numéricas:
library("ggpubr")
## Loading required package: ggplot2
ggscatter(misDatos, 
          x = "pctopo", y = "apropiaciondolar", 
          add = "reg.line", 
          conf.int = TRUE, 
          add.params = list(color = "blue", fill = "lightgray"),
          cor.coef = TRUE, cor.method = "pearson") #spearman?
## `geom_smooth()` using formula 'y ~ x'

Del gráfico anterior, el R (coeficiente de correlación) puede ir de -1 a 1, mientras más cerca a cero indica que relación es debil, mientras más lejos de cero, relación se fortalece. Cuando el R coeficiente de correlación es alto, la linea azul tendrá los punto mas cerca a ella.

  1. Comparando con las categóricas
boxplot(apropiaciondolar~ejecucion,data=misDatos)

En la horizontal están las categorías. Pregúntate sí la variable dependiente toma valores similares o no.

4. Regresión

Aqui puedes proponer probar tus hipótesis. Hay que ir de menos a más. Si tienes variables de control, usalas siempre.

  1. Primera hipótesis
hipotesis1=formula(apropiaciondolar~priorizado + poblacioncienmil+ nbi)
regre1=lm(hipotesis1,data=misDatos)
summary(regre1)
## 
## Call:
## lm(formula = hipotesis1, data = misDatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -54.357  -8.156  -6.139   1.855  92.342 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      11.48283    1.11885  10.263  < 2e-16 ***
## priorizado_si    -0.96823    1.05136  -0.921    0.357    
## poblacioncienmil  2.12193    0.19205  11.049  < 2e-16 ***
## nbi              -0.09146    0.02325  -3.934 8.89e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.07 on 1092 degrees of freedom
## Multiple R-squared:  0.1207, Adjusted R-squared:  0.1183 
## F-statistic: 49.98 on 3 and 1092 DF,  p-value: < 2.2e-16

Aqui verifica: - La variable independiente de interés es significativa (ves “.” o “asteriscos”)? Si no es significativa, NO tiene efecto. - El efecto, es positivo o negativo (mira el signo).

En este caso, la VI priorizado indica, que cuando vale “si” no es diferente a si vale “no”. Por ello no tiene efecto.

  1. Segunda hipótesis
hipotesis2=formula(apropiaciondolar~priorizado +  consejocomunal + poblacioncienmil+ nbi)
regre2=lm(hipotesis2,data=misDatos)
summary(regre2)
## 
## Call:
## lm(formula = hipotesis2, data = misDatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -60.760  -7.602  -5.849   1.419  92.710 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       10.38634    1.11531   9.313  < 2e-16 ***
## priorizado_si     -1.52242    1.03833  -1.466 0.142875    
## consejocomunal_si 12.34005    2.02240   6.102 1.46e-09 ***
## poblacioncienmil   1.92813    0.19159  10.064  < 2e-16 ***
## nbi               -0.07617    0.02301  -3.310 0.000963 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.82 on 1091 degrees of freedom
## Multiple R-squared:  0.1497, Adjusted R-squared:  0.1466 
## F-statistic: 48.03 on 4 and 1091 DF,  p-value: < 2.2e-16

En este caso, la VI consejo comunal indica, que cuando vale “si” es diferente a si vale “no”. Por ello tiene efecto positivo: cuando haya consejo comunal aumenta el presupuesto.

  1. Tercera hipótesis
hipotesis3=formula(apropiaciondolar~priorizado  +  consejocomunal +  pctopo + poblacioncienmil+ nbi)
regre3=lm(hipotesis3,data=misDatos)
summary(regre3)
## 
## Call:
## lm(formula = hipotesis3, data = misDatos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -60.988  -7.667  -5.803   1.827  92.036 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       10.89602    1.17187   9.298  < 2e-16 ***
## priorizado_si     -1.53777    1.03791  -1.482  0.13873    
## consejocomunal_si 12.32818    2.02150   6.099 1.48e-09 ***
## pctopo            -0.02491    0.01765  -1.411  0.15854    
## poblacioncienmil   1.93281    0.19153  10.091  < 2e-16 ***
## nbi               -0.07179    0.02321  -3.094  0.00203 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.81 on 1090 degrees of freedom
## Multiple R-squared:  0.1513, Adjusted R-squared:  0.1474 
## F-statistic: 38.86 on 5 and 1090 DF,  p-value: < 2.2e-16

Aqui no hay cualitativamente mayor cambio. Finalmente, comparemos los modelos que tenemos:

#es regre2 mejor que regre1?
anova(regre1,regre2)

El pvalor significativo nos indica que la regre2 es mejor opcion a la regre3.

#es regre3 mejor que regre2?
anova(regre2,regre3)

El pvalor NO significativo nos indica indican que la regre3 NO es mejor opcion a la regre2.