1 Desarrollo

1.1 Cargar librerías

library(ggplot2)
library(readr)
library(dplyr)
library(knitr)
library(DT)
library(mosaic)
library(PerformanceAnalytics) 

1.2 Cargar funciones preparadas

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20dispersion%20correlacion%20regresion.R", encoding = "UTF-8")

1.3 Cargar datos

datos_bruto <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/universidades_clean.csv", encoding = "UTF-8", stringsAsFactors = TRUE)
str(datos_bruto)
## 'data.frame':    300 obs. of  17 variables:
##  $ X.1            : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ X              : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ name           : Factor w/ 300 levels "Aarhus University",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ world_ranking  : Factor w/ 200 levels "","#1 of 14,131",..: 59 159 1 188 1 1 1 145 106 175 ...
##  $ region_ranking : Factor w/ 200 levels "","#1 of 1,756",..: 101 108 1 115 1 1 1 96 200 126 ...
##  $ country_ranking: Factor w/ 198 levels "","#1 of 101",..: 59 118 1 128 1 1 1 102 193 134 ...
##  $ region         : Factor w/ 6 levels "Africa","Asia",..: 3 3 5 5 3 2 5 3 3 5 ...
##  $ country        : Factor w/ 34 levels "Argentina","Australia",..: 17 29 34 6 17 18 34 14 33 34 ...
##  $ city.state     : Factor w/ 153 levels "Aarhus","Adelaide",..: 141 140 150 99 38 64 102 7 39 144 ...
##  $ acceptance_rate: Factor w/ 87 levels "","1%","10%",..: 8 1 50 80 4 48 60 1 51 1 ...
##  $ publication    : Factor w/ 300 levels "100,167","100,238",..: 272 296 113 293 236 255 98 18 112 250 ...
##  $ website        : Factor w/ 295 levels "auburn.edu","bc.edu",..: 120 119 1 117 219 3 2 6 124 123 ...
##  $ phone_no       : Factor w/ 297 levels "","+1 (204) 474 8880",..: 96 285 209 137 39 265 256 253 273 212 ...
##  $ address        : Factor w/ 300 levels "1-1-1 Tennodai\n Tsukuba, Ibaraki, 305-8577 \nJapan",..: 205 275 247 167 152 213 30 217 195 215 ...
##  $ rank           : int  150 61 83 88 60 204 133 49 193 76 ...
##  $ publications   : int  89633 99086 36231 97754 74922 82676 25757 107676 36150 80596 ...
##  $ acceptance_num : int  15 NA 57 86 11 55 67 NA 58 NA ...

1.4 Transformar datos

1.4.1 Seleccionar solo las variables de interés publications y rank

Ejecutar esta instrucciones para limpiar los datos y dejar solo las variable de interés

  • publications_Variable x independiente
  • rank: variabel y dependiente
datos <- select(datos_bruto, publications, rank)
str(datos)
## 'data.frame':    300 obs. of  2 variables:
##  $ publications: int  89633 99086 36231 97754 74922 82676 25757 107676 36150 80596 ...
##  $ rank        : int  150 61 83 88 60 204 133 49 193 76 ...
x <- datos$publications
y <- datos$rank

1.5 Determinar una muestra del 20%

Cada equipo decide el valor de la semilla random, por ejemplo 2023, ustedes pongan los cuatro o tres últimos dígitos de su número de control o el de uno de ustedes

set.seed(1126)
muestra <- datos[sample(x = 1:nrow(datos), size = round(nrow(datos) * 0.20), replace = FALSE), ]
muestra
##     publications rank
## 221       305066    3
## 290        49351  156
## 21        205011    9
## 125       117251  109
## 46         41162  136
## 181       136745   73
## 274        70799  139
## 127        53153  152
## 36         92538   87
## 68         59116  135
## 114       143641   35
## 271        87773   92
## 215        57289  157
## 225        90860  105
## 27         63645  136
## 279        54472  166
## 122       105481  165
## 211        84784  180
## 183        34363  126
## 101       177518   23
## 263       261987   16
## 213        43893    5
## 284        95375   72
## 289        44145  234
## 117       123239  159
## 30         78063  178
## 203        96816   69
## 276        81979  117
## 124        60687   91
## 121       287025    2
## 179       104806   58
## 23        210564   13
## 192        90413   91
## 143       191386   20
## 173        56979  176
## 218        74126   90
## 54         67052    5
## 202       202516   21
## 49         99103  116
## 77        144724   47
## 165       101320   56
## 222       124921  124
## 167        48643   28
## 3          36231   83
## 97         32350   68
## 82        115115  198
## 231       164047   29
## 248       261797   48
## 96        208615   24
## 9          36150  193
## 123        55990   15
## 226       145451   57
## 239       241392   10
## 110        35120  149
## 280        51711  199
## 193        57498  110
## 109        72493  190
## 230       135814   64
## 242        63169   40
## 107        70384  134

¿De cuántos registros es la muestra?

tamano_muestra <- nrow(muestra)
tamano_muestra
## [1] 60

1.6 Determinar la covarianza

Convarianza entre publications y rank ¿Cuál es el valor de la covarianza ?

covarianza <- cov(muestra$publications, muestra$rank)
covarianza
## [1] -2650090

1.7 Determinar la correlación

Correlación \(r\) entre publications y rank ¿Cuál es el valor de la correlación de Pearson y cómo se interpreta?

correlacion <- cor(muestra$publications, muestra$rank)
correlacion
## [1] -0.6069609

1.8 Diagrama de dispersión

Diagrama de dispersión entre publications y rank ¿Cómo se observa el diagrama de dispersión de las dos variables x publications e y rank?

ggplot(muestra, aes(x = publications, y = rank)) +
  geom_point() +
  labs(x = "Publications", y = "Rank")

1.9 Regresión

Construir el modelo de regresión entre publications y rank ¿Cuáles son los estadísticos del modelos de regresión: summary(modelo)

modelo <- lm(rank ~ publications, data = muestra)
summary(modelo)
## 
## Call:
## lm(formula = rank ~ publications, data = muestra)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -123.889  -28.349   -6.237   28.729  108.690 
## 
## Coefficients:
##                  Estimate   Std. Error t value             Pr(>|t|)    
## (Intercept)  153.28040883  12.24896683  12.514 < 0.0000000000000002 ***
## publications  -0.00055571   0.00009554  -5.816          0.000000273 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 50.68 on 58 degrees of freedom
## Multiple R-squared:  0.3684, Adjusted R-squared:  0.3575 
## F-statistic: 33.83 on 1 and 58 DF,  p-value: 0.0000002731

1.10 Valor del R Square

¿Cuál es el valor del estadístico R Square en el modelo de regresión construído y cómo se interpreta?

r_squared <- summary(modelo)$r.squared
r_squared
## [1] 0.3684015

1.11 Coeficientes a y b

\[ Y = a + b \cdot x \]

Coeficientes \(a\) y \(b\) de la fórmula de regresión lineal simple ¿Cuál es el valor de los coeficientes?

coeficientes <- coef(modelo)
a <- coeficientes[1]
b <- coeficientes[2]
a
## (Intercept) 
##    153.2804
b
##  publications 
## -0.0005557074

1.12 Linea de tendencia

¿Cómo se observa la lónea de tendencia?

ggplot(muestra, aes(x = publications, y = rank)) +
  geom_point() +
  geom_smooth(method = "lm", formula = y ~ x, se = FALSE, color = "blue") +
  labs(x = "Publications", y = "Rank")

1.13 Predicciones

1.13.1 ¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 15000?

valor_publications <- c(15000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept) 
##    144.9448

1.13.2 ¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 20000?

valor_publications <- c( 20000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept) 
##    142.1663

1.13.3 ¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 25000?

valor_publications <- c(25000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept) 
##    139.3877

2 Interpretación

En base al análisis que hemos realizado, se encontró una relación inversa entre las variables “publications” y “rank” en el conjunto de datos de universidades. A medida que el número de publicaciones aumenta, se observa una tendencia de disminución en el rango de las universidades. Esto se respalda mediante la covarianza y la correlación de Pearson, las cuales indican una asociación negativa entre las variables. Al construir el modelo de regresión lineal, se nos confirma esta relación inversa mediante el coeficiente negativo de la variable “publications”. Esto sugiere que un mayor número de publicaciones se relaciona con un rango más bajo en las universidades, lo cual tiene implicaciones importantes para el ámbito académico y educativo.