library(ggplot2)
library(readr)
library(dplyr)
library(knitr)
library(DT)
library(mosaic)
library(PerformanceAnalytics)
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20dispersion%20correlacion%20regresion.R", encoding = "UTF-8")
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 ...
Ejecutar esta instrucciones para limpiar los datos y dejar solo las variable de interés
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
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
Convarianza entre publications y rank ¿Cuál es el valor de la covarianza ?
covarianza <- cov(muestra$publications, muestra$rank)
covarianza
## [1] -2650090
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
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")
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
¿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
\[ 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
¿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")
valor_publications <- c(15000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept)
## 144.9448
valor_publications <- c( 20000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept)
## 142.1663
valor_publications <- c(25000)
predicciones <- a + b * valor_publications
predicciones
## (Intercept)
## 139.3877
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.