library(tidyverse)
## -- Attaching packages ----------------------------------------------------------------------------------------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.0     v purrr   0.3.4
## v tibble  3.0.3     v dplyr   0.8.5
## v tidyr   1.1.0     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.5.0
## Warning: package 'tibble' was built under R version 4.0.2
## -- Conflicts -------------------------------------------------------------------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Ejercicio 1:

Si listamos los primeros seis números primos: 2, 3, 5, 7, 11, y 13, podemos ver que el 6to primo es el 13. ¿Cuál es el primo número 1000?. Recordar: En matemáticas, un número primo es un número natural mayor que 1 que tiene únicamente dos divisores positivos distintos: él mismo y el 1.

Resolución:

Diagrama de flujo:

numero_primo <- function(que_numero) {
 n=10000
    if (n >= 2) {
    x = seq(2, n)
    numero = c()
    for (i in seq(2, n)) {
      if (any(x == i)) {
        numero = c(numero, i)
        x = c(x[(x %% i) != 0], i)
      }
    }
    return((numero)[que_numero])
  }
  else 
  { FALSE
  }
} 

numero_primo(que_numero=1000)
## [1] 7919

Ejercicio 2:

¿Cual es la probabilidad de obtener una generala, para cinco dados al cabo de 3 intentos (es decir un turno)? (ver https://es.wikipedia.org/wiki/Generala )

Resolución:

Generala: se forma cuando después del segundo o tercer tiro se logran los cinco dados con un mismo número y vale 60 puntos. Cuando esto se logra de un solo tiro, se llama generala servida y el jugador automáticamente gana el juego.

dado1<-as.character(1:6) ##Primer Dado
dado2<-as.character(1:6) ##Segundo Dado
dado3<-as.character(1:6) ##Tercer Dado
dado4<-as.character(1:6) ##Cuarto Dado
dado5<-as.character(1:6) ##Quinto Dado


##Espacio muestral en forma de DataFrame
espacio_muestral<-expand.grid(dado1,dado2, dado3, dado4, dado5) 
colnames(espacio_muestral)<-c('D1','D2', 'D3', 'D4', 'D5')

Generala <-espacio_muestral %>% 
  filter(D1==1 &  D2==1 & D3==1 & D4==1 & D5==1 | 
           D1==2 & D2==2 & D3==2 & D4==2 & D5==2 | 
           D1==3 & D2==3 & D3==3 & D4==3 & D5==3 |
           D1==4 & D2==4 & D3==4 & D4==4 & D5==4 |
           D1==5 & D2==5 & D3==5 & D4==5 & D5==5 |
           D1==6 & D2==6 & D3==6 & D4==6 & D5==6)

Generala 
##   D1 D2 D3 D4 D5
## 1  1  1  1  1  1
## 2  2  2  2  2  2
## 3  3  3  3  3  3
## 4  4  4  4  4  4
## 5  5  5  5  5  5
## 6  6  6  6  6  6
# Probabilidad de obtener una generala servida (un lanzamiento) es de :

prob_generala_servida <- nrow(Generala)/nrow(espacio_muestral)

# Probabilidad de obtener una generala en dos lanzamientos es :

prob_generala_2<- (nrow(Generala)/nrow(espacio_muestral) *2)


# Probabilidad de obtener una generala en tres lanzamientos es :

prob_generala_3<- (nrow(Generala)/nrow(espacio_muestral) *3)

La probabilidad de obtener una generala servida (un lanzamiento) es de 7.7160494^{-4}

La probabilidad de obtener una generala en dos lanzamientos es 0.0015432

La probabilidad de obtener una generala en tres lanzamientos es 0.0023148

Ejercicio 3:

Usar una reg. lineal para explicar la variable Pts (puntos) a partir de las variables Pts_2012_13, Pts_2013_14, Pts_2014, inversion_abs (inversión absoluta), inversion_relativa (inversión relativa), valor (valor en millones de euros), libertadores (si participó en el 2015 en la Copa Libertadores), sudamericana (si participó en el 2015 en la Copa Sudamericana), ascenso (si ascendió).

Resolución:

Importación de datos

datos_2015 <- read_delim("datos_2015.csv", 
    ";", escape_double = FALSE, locale = locale(encoding = "WINDOWS-1252"), 
    trim_ws = TRUE)
## Parsed with column specification:
## cols(
##   .default = col_double(),
##   club = col_character()
## )
## See spec(...) for full column specifications.
head(datos_2015,10)
## # A tibble: 10 x 49
##    club  Pts_2012_13 Pts_2013_14 Pts_2014 inversion_abs inversion_relat~ valor
##    <chr>       <dbl>       <dbl>    <dbl>         <dbl>            <dbl> <dbl>
##  1 Quil~          50          45       12          6.33           0.651  13.2 
##  2 Olim~           0          50       19          2.25           0.255  10   
##  3 Banf~           0           0       20          7.55           0.591  16.9 
##  4 Godo~           0           0       20          3.4            0.301  13.1 
##  5 Rosa~           0          54       21         10.8            1.09   16.3 
##  6 Defe~          49          56       21          1.27           0.203   6.9 
##  7 Gimn~           0          57       24          2.25           0.246  10.3 
##  8 Atlé~          43          49       25         -2.15          -0.224   8.58
##  9 Estu~          59          49       25          6.35           0.379  20.2 
## 10 Aldo~          74          56       25          0.18           0.0271  6.73
## # ... with 42 more variables: libertadores <dbl>, sudamericana <dbl>,
## #   ascenso <dbl>, Pos <dbl>, Pts <dbl>, PJ <dbl>, PG <dbl>, PE <dbl>,
## #   PP <dbl>, GF <dbl>, GC <dbl>, Dif <dbl>, Pos_Fecha_1 <dbl>,
## #   Pos_Fecha_2 <dbl>, Pos_Fecha_3 <dbl>, Pos_Fecha_4 <dbl>, Pos_Fecha_5 <dbl>,
## #   Pos_Fecha_6 <dbl>, Pos_Fecha_7 <dbl>, Pos_Fecha_8 <dbl>, Pos_Fecha_9 <dbl>,
## #   Pos_Fecha_10 <dbl>, Pos_Fecha_11 <dbl>, Pos_Fecha_12 <dbl>,
## #   Pos_Fecha_13 <dbl>, Pos_Fecha_14 <dbl>, Pos_Fecha_15 <dbl>,
## #   Pos_Fecha_16 <dbl>, Pos_Fecha_17 <dbl>, Pos_Fecha_18 <dbl>,
## #   Pos_Fecha_19 <dbl>, Pos_Fecha_20 <dbl>, Pos_Fecha_21 <dbl>,
## #   Pos_Fecha_22 <dbl>, Pos_Fecha_23 <dbl>, Pos_Fecha_24 <dbl>,
## #   Pos_Fecha_25 <dbl>, Pos_Fecha_26 <dbl>, Pos_Fecha_27 <dbl>,
## #   Pos_Fecha_28 <dbl>, Pos_Fecha_29 <dbl>, Pos_Fecha_30 <dbl>

Selección de las variables, dependiente = Pts, y variables independientes = Pts_2012_13, Pts_2013_14, Pts_2014, inversion_abs, inversion_relativa, valor, libertadores,sudamericana y ascenso

datos_2015 <- datos_2015 %>% 
  select(Pts,Pts_2012_13, Pts_2013_14, Pts_2014, inversion_abs, inversion_relativa, valor, libertadores,sudamericana, ascenso ) %>% 
  arrange(desc(Pts))

head(datos_2015,10)
## # A tibble: 10 x 10
##      Pts Pts_2012_13 Pts_2013_14 Pts_2014 inversion_abs inversion_relat~ valor
##    <dbl>       <dbl>       <dbl>    <dbl>         <dbl>            <dbl> <dbl>
##  1    64          51          61       31          8.53          0.248   38.8 
##  2    61          58          60       26          0.75          0.0200  37.8 
##  3    59           0          54       21         10.8           1.09    16.3 
##  4    57          62          33       41         -2.9          -0.139   19.4 
##  5    54           0           0       33          4.3           0.294   16.9 
##  6    51          59          49       25          6.35          0.379   20.2 
##  7    51          48          59       31         -0.05         -0.00568  8.78
##  8    50           0           0       20          7.55          0.591   16.9 
##  9    49          64          58       39         11.2           0.298   43.4 
## 10    46          34          49       26          2.97          0.239   14.0 
## # ... with 3 more variables: libertadores <dbl>, sudamericana <dbl>,
## #   ascenso <dbl>

Modelo de Regresión Lineal

mod <- lm(Pts ~ ., data=datos_2015)
summary(mod)
## 
## Call:
## lm(formula = Pts ~ ., data = datos_2015)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.1568  -3.9097  -0.2494   3.4886  15.7965 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)  
## (Intercept)        15.058086   7.459359   2.019   0.0571 .
## Pts_2012_13        -0.084927   0.103988  -0.817   0.4237  
## Pts_2013_14         0.008748   0.106711   0.082   0.9355  
## Pts_2014            0.575616   0.223596   2.574   0.0181 *
## inversion_abs      -2.173272   1.268791  -1.713   0.1022  
## inversion_relativa 40.110542  15.874772   2.527   0.0201 *
## valor               0.834816   0.338797   2.464   0.0229 *
## libertadores        3.896544   5.391639   0.723   0.4782  
## sudamericana       -1.348871   3.915157  -0.345   0.7340  
## ascenso             7.400458   5.703893   1.297   0.2092  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.973 on 20 degrees of freedom
## Multiple R-squared:  0.7028, Adjusted R-squared:  0.5691 
## F-statistic: 5.256 on 9 and 20 DF,  p-value: 0.0009804

Se observa en la columa “Estimate” el efecto que ejercen las variables independientes sobre la variable dependiente. Asimismo, la columna Pr(>|t|) nos permite visualizar las variables estadísticamente significativas.

Para este modelo observamos que las variables Pts_2014, inversion_relativa y tienen un valor de Pr(>|t|) menor a 0.05, aceptando un intervalo de confianza del 95%.

El valor de R-squared es calculado a partir de los residuos, el cual varía entre 0 y 1 y debería ser lo más alto posible. Para este modelo se obtuvo un R-squared de 0.7028 y un Adjusted R-squared de 0.5691.

residuals(mod)
##           1           2           3           4           5           6 
##   7.1717992   0.7096424  -2.3649342   2.5119302   4.7550098   4.0324764 
##           7           8           9          10          11          12 
##  15.7964906   2.0187893  -9.9899193   4.9899541   3.4888285   1.0411590 
##          13          14          15          16          17          18 
##  -2.0091453  13.4360356   2.6312468   3.2642099   9.2053469  -4.1143333 
##          19          20          21          22          23          24 
##   3.4879176  -2.1105457 -10.1748466  -2.6336160  -4.4359289  -2.5162024 
##          25          26          27          28          29          30 
##  -1.2085153  -6.3325750  -3.2956154  -9.1064610  -6.0914183 -12.1567796

Plot de los residuos del modelo calculado

par(mfrow=c(2,2)) # Change the panel layout to 2 x 2
plot(mod)

Análisis de los Residuos

  1. Residuals vs Fitted

Este gráfico muestra si los residuos tienen patrones no lineales. Se puede evidenciar en este primer gráfico que los residuos se presentan en general distribuidos equitativamente por encima y por debajo de la línea horizontal, por lo cual no se observa patrones no lineales.

  1. Normal Q-Q

Este gráfico muestra si los residuos son distribuidos de forma normal. En este caso se muestra que los residuos se distribuyen linealmente a través de la línea punteada, lo cual es aceptable. Sin embargo se observan dos casos asilados, el N° 14 y el N°7.

  1. Scale-Location

Este gráfico muestra si los residuos están distribuidos equitativamente a lo largo de los rangos de las variables predictoras. Se muestra en este gráfico para este modelo en particular que los residuos se disribuyen efectiavemnte equitativamente y en forma dispersa a lo largo de la línea horizontal.

  1. Residuals vs Leverage

Este gráfico nos ayuda a identificar casos influyentes en el modelo.

Se puede observar en este gráfico y para este modelo que los residuos se encuentran distribuidos dentro de las líneas de Cook´s distance por lo cual nos indica que en general no se encuentran valores que influyen fuertemente en el modelo.