📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊

1 MI CURSO DE ESTADÍSTICA Y PROBABILIDAD - 2026

1.1 Por: Santiago Ariza Cadena

2 SEMANA 8. Mi página Web en Estadistica

📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊

3 Clase N° 32. LABORATORIO 8 - Regresión Lineal

3.1 (i)Datos

library(readxl)
DATOS2026 <- read_excel("00. DATOS202460ULTIMOS25 (1).xlsx")
DATOS2026

##<-========== PASO 4. =========->

3.2 (2i)Usando la aplicación para hacer la tabla

table_sexo<-table(DATOS2026$SEXO)
table_sexo
## 
##  Femenino Masculino 
##        42        32

##<-========== PASO 5.=========->

3.3 (3i)Gráfico de torta para SEXO

pie_1<-pie(table_sexo, col=c("lightblue","pink"),
        main="Estudio de Pastel.\n Distribución por sexos.\n Santiago Ariza", labels = table_sexo)

##<-========== PASO 6. =========->

3.4 (4i)Construimos el diagrama de barras y el diagrama de Pastel para esta variable cualitativa

barp<-barplot(table_sexo, col = rainbow(5), border = "darkred",main = "Gráfico de Barras - Santiago Ariza",sub = "UTB",xlab = "SEXO", ylab = "Conteo")
text(barp, table_sexo-30, labels = table_sexo)

##<-========== PASO 7. =========->

3.5 (5i)Usando la aplicación para hacer la tabla porcentual redondeando al entero mas cercano

table_sexo2<-round(table(DATOS2026$SEXO)/74*100)
table_sexo2
## 
##  Femenino Masculino 
##        57        43

##<-========== PASO 8. =========->

3.6 (6i)Construimos el diagrama de barras % y da pastel para esta variable cualitativa

barp2<-barplot(table_sexo2, col = rainbow(5), border = "darkred",main = "Gráfico de Barras - Santiago Ariza",sub = "UTB",xlab = "SEXO", ylab = "Porcentaje")
text(barp2, table_sexo2-30, labels = table_sexo2)

##<-========== PASO 9. =========->

3.7 (7i)Las tablas de frecuencias y las representaciones gráficas son dos maneras equivalentes de presentar la información. Las dos exponen ordenadamente la información recogida en una muestra

pie_1<-pie(table_sexo2, col=c("lightblue","pink"),
        main="Estudio de Pastel.\n Distribución por sexos. \n Santiago Ariza", labels = table_sexo2)

##<-========== PASO 10. =========->

3.8 (8i)Usando la aplicación para hacer la tabla con dos varibles SEXO y CURSO

table_3<-table(DATOS2026$SEXO, DATOS2026$CURSO)
table_3
##            
##             ESTADISTICAI PROBABILIDAD
##   Femenino            16           26
##   Masculino           10           22

##<-========== PASO 11. =========->

3.9 (9i)Usando la aplicación para hacer el gráfico con dos varibles SEXO y CURSO

barp3<-barplot(table_3,
        main = "Gráfico de barras CURSO vs SEXO - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = c("pink", "blue"),
        legend.text = rownames(table_3),
        beside = TRUE) # Barras agrupadas
text(barp3, table_3-5, labels = table_3)

##<-========== PASO 12. =========->

3.10 (10i)Usando la aplicación para hacer la tabla con dos varibles SEXO y CURSO pero usando las frecuencias relativas aproximadas

table_4<-round(table(DATOS2026$SEXO, DATOS2026$CURSO)/74*100)
table_4
##            
##             ESTADISTICAI PROBABILIDAD
##   Femenino            22           35
##   Masculino           14           30

##<-========== PASO 13. =========->

3.11 (11i)Usando la aplicación para hacer el gráfico con dos varibles SEXO y CURSO pero usando las frecuencias relativas aproximadas

barp4<-barplot(table_4,
        main = "Gráfico de barras CURSO vs SEXO en porcentajes - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = c("pink", "blue"),
        legend.text = rownames(table_4),
        beside = TRUE) # Barras agrupadas
text(barp4, table_4-5, labels = table_4)

##<-========== PASO 14. =========->

3.12 (12i)Usando la aplicación para hacer la tabla con dos varibles SEXO y CURSO

table_5<-table(DATOS2026$ESTRATO, DATOS2026$CURSO)
table_5
##      
##       ESTADISTICAI PROBABILIDAD
##   I              5           10
##   II             7           18
##   III            9            9
##   IV             5            5
##   V              0            5

##<-========== PASO 15. =========->

3.13 (13i)Usando la aplicación para hacer el gráfico con dos varibles SEXO y CURSO

barp3<-barplot(table_5,
        main = "Gráfico de barras CURSO vs ESTRATO - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = rainbow(5),
        legend.text = rownames(table_5),
        beside = TRUE) # Barras agrupadas
text(barp3, table_5-1, labels = table_3)

##<-========== PASO 16. =========->

3.14 (14i)Usando la aplicación para hacer la tabla con dos varibles SEXO y CURSO

table_6<-table(DATOS2026$ESTRATO, DATOS2026$SEXO)
table_6
##      
##       Femenino Masculino
##   I          8         7
##   II        17         8
##   III       10         8
##   IV         4         6
##   V          3         2

##<-========== PASO 17. =========->

3.15 (15i)Usando la aplicación para hacer el gráfico con dos varibles SEXO y CURSO

barp3<-barplot(table_6,
        main = "Gráfico de barras CURSO vs ESTRATO - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = rainbow(5),
        legend.text = rownames(table_6),
        beside = TRUE) # Barras agrupadas
text(barp3, table_6-1, labels = table_6)

##<-========== PASO 18. =========->

3.16 (16i)Tabla de Frecuencias Usando el paquete summarytools: observamos ya una tabla mas completa

library(summarytools)
## Warning in fun(libname, pkgname): couldn't connect to display ":0"
## system might not have X11 capabilities; in case of errors when using dfSummary(), set st_options(use.x11 = FALSE)
tabla_8 <- freq(DATOS2026$EDAD)
tabla_8
## Frequencies  
## DATOS2026$EDAD  
## Type: Numeric  
## 
##               Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ----------- ------ --------- -------------- --------- --------------
##          17      7      9.46           9.46      9.46           9.46
##          18     32     43.24          52.70     43.24          52.70
##          19     21     28.38          81.08     28.38          81.08
##          20      7      9.46          90.54      9.46          90.54
##          21      4      5.41          95.95      5.41          95.95
##          22      3      4.05         100.00      4.05         100.00
##        <NA>      0                               0.00         100.00
##       Total     74    100.00         100.00    100.00         100.00

##<-========== PASO 19. =========->

3.17 (17i)Tabla de Frecuencias Usando el paquete summarytools: observamos ya una tabla mas completa

library(summarytools)
summary(DATOS2026$EDAD)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    17.0    18.0    18.0    18.7    19.0    22.0

##<-========== PASO 20. =========->

3.18 (18i)Una primera vista del diagrama de caja para la variable Edad

boxplot(DATOS2026$EDAD, horizontal = TRUE, main = "Diagrama de caja - EDAD - Santiago Ariza", col = rainbow(3))

##<-========== PASO 21. =========->

3.19 (19i)Identificamos donde queda la mediana

x = DATOS2026$EDAD
boxplot(x, notch = FALSE, horizontal = TRUE, main = "Mediana - EDAD - Santiago Ariza", col = rainbow(3))

##<-========== PASO 22. =========->

3.20 (20i)EDAD vs SEXO

x = DATOS2026$EDAD
y = DATOS2026$SEXO
boxplot(x~y, horizontal = TRUE, main = "EDAD vs SEXO - Santiago Ariza", col = rainbow(3))

##<-========== PASO 23. =========->

3.21 (21i)EDAD vs ESTRATO

library(ggplot2)
x = DATOS2026$EDAD
z = DATOS2026$ESTRATO
boxplot(x~z, horizontal = TRUE, main = "EDAD vs ESTRATO - Santiago Ariza", col = rainbow(3))

##<-========== PASO 24. =========->

3.22 (22i)EDAD vs ESTRATO vs SEXO

library(ggplot2)
ggplot(data= DATOS2026,mapping= aes(y=EDAD,x = ESTRATO, fill=SEXO))+geom_boxplot()+
  scale_y_continuous(name = "EDAD") +
  scale_x_discrete(labels = abbreviate, name = "ESTRATO") +
  ggtitle("EDAD vs ESTRATO vs SEXO - Santiago Ariza")

##<-========== PASO 25. =========->

3.23 (23i)Estudiemos la variable ESTATURA y obtengamos sus seis medidas representativas

summary(DATOS2026$ESTATURA)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   153.0   163.0   168.0   168.4   174.0   192.0

##<-========== PASO 26. =========->

3.24 (24i)Una primera vista del diagrama de caja para la variable ESTATURA

boxplot(DATOS2026$ESTATURA, horizontal = TRUE, main = "Diagrama de caja - ESTATURA - Santiago Ariza", col = rainbow(3))

##<-========== PASO 27. =========->

3.25 (25i)Identificamos donde queda la mediana

x = DATOS2026$ESTATURA
boxplot(x, notch = TRUE, horizontal = TRUE, main = "Mediana - ESTATURA - Santiago Ariza", col = rainbow(3))

##<-========== PASO 28. =========->

3.26 (26i)EDAD vs SEXO

x = DATOS2026$ESTATURA
y = DATOS2026$SEXO
boxplot(x~y, horizontal = TRUE, main = "ESTATURA vs SEXO - Santiago Ariza", col = rainbow(3))

##<-========== PASO 29. =========->

3.27 (27)EDAD vs ESTRATO

library(ggplot2)
x = DATOS2026$ESTATURA
z = DATOS2026$ESTRATO
boxplot(x~z, horizontal = TRUE, main = "ESTATURA vs ESTRATO - Santiago Ariza", col = rainbow(3))

##<-========== PASO 30. =========->

3.28 (28i)ESTATURA vs ESTRATO vs SEXO

library(ggplot2)
ggplot(data= DATOS2026,mapping= aes(y=ESTATURA,x = ESTRATO, fill=SEXO))+geom_boxplot()+
  scale_y_continuous(name = "ESTATURA") +
  scale_x_discrete(labels = abbreviate, name = "ESTRATO") +
  ggtitle("ESTATURA vs ESTRATO vs SEXO - Santiago Ariza")

##<-========== PASO 31. =========->

3.29 (29i)Histograma y tabla de frecuencias usando Regla de Sturges

3.29.1 Usando la libreria “agricolae”

library(agricolae)
h2<-graph.freq(DATOS2026$EDAD, col=colors()[75], main = "Histograma - EDAD - Santiago Ariza") #[86]

##<-========== PASO 32. =========->

3.30 (30i)Tabla de fecuencias agrupadas Regla de Sturges

3.30.1 Usando la libreria “agricolae”

summary(h2)

##<-========== PASO 33. =========->

3.31 (31i)Polígono de frecuencia absolutas

3.31.1 frequency : counts (1) and relative (2)

plot(h2,  col=colors()[70], frequency = 1, main = "Polígono de frecuencias absolutas - Santiago Ariza")
polygon.freq(h2, col = "red", frequency = 1, lwd = 2)

##<-========== PASO 34. =========->

3.32 (32i)Polígono de frecuencia relativas

3.32.1 frequency : counts (1) and relative (2)

plot(h2,  col=colors()[70], frequency = 2, main = "Polígono de frecuencias relativas - Santiago Ariza")
polygon.freq(h2, col = "red", frequency = 2, lwd = 2)

##<-========== PASO 35. =========->

3.33 (33i)Ojivas - usando R

fr_por_clase2<-h2$counts
fr_por_clase2
## [1]  7 32 21  0  7  4  0  3
total_n2<-sum(h2$counts)
total_n2
## [1] 74
fr_relativos2<-fr_por_clase2/total_n2
fr_porcentuales2<-100*fr_relativos2
fr_porcentuales2
## [1]  9.459459 43.243243 28.378378  0.000000  9.459459  5.405405  0.000000
## [8]  4.054054
cumsum(fr_por_clase2)
## [1]  7 39 60 60 67 71 71 74
cumsum(fr_relativos2)
## [1] 0.09459459 0.52702703 0.81081081 0.81081081 0.90540541 0.95945946 0.95945946
## [8] 1.00000000
cumsum(fr_porcentuales2)
## [1]   9.459459  52.702703  81.081081  81.081081  90.540541  95.945946  95.945946
## [8] 100.000000

##<-========== PASO 36. =========->

3.34 (34i)Ojivas - frecuencias porcentuales

p4<-cumsum(fr_porcentuales2)
plot(p4, col = "red", main = "Ojiva - frecuencias porcentuales - Santiago Ariza")
lines(p4, col = "red")

##<-========== AQUI INICIA EL LABORATORIO 8. VARIABLES RELACIONADAS=========->

##<-========== PASO 37. =========->

3.35 (35i)Algunas tablas bivariadas - Contamos Sexo vs Curso -ambas cualitativas

table_bv1<-table(DATOS2026$SEXO, DATOS2026$CURSO)
table_bv1
##            
##             ESTADISTICAI PROBABILIDAD
##   Femenino            16           26
##   Masculino           10           22

##<-========== PASO 38. =========->

3.36 (36i)Algunas tablas bivariadas - Diagrama de barras Contamos Sexo vs Curso

barp_bv1<-barplot(table_bv1,
        main = "Gráfico de barras CURSO vs SEXO - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = c("pink", "blue"),
        legend.text = rownames(table_bv1),
        beside = TRUE) # Barras agrupadas
text(barp_bv1, table_bv1-5, labels = table_bv1)

##<-========== PASO 39. =========->

3.37 (37i)Algunas tablas bivariadas - Diagrama de barras Contamos Estrato vs Curso

table_bv2<-table(DATOS2026$ESTRATO, DATOS2026$CURSO)
table_bv2
##      
##       ESTADISTICAI PROBABILIDAD
##   I              5           10
##   II             7           18
##   III            9            9
##   IV             5            5
##   V              0            5

##<-========== PASO 40. =========->

barp_bv2<-barplot(table_bv2,
        main = "Gráfico de barras CURSO vs ESTRATO - Santiago Ariza",
        xlab = "CURSO", ylab = "Frecuencia",
        col = rainbow(5),
        legend.text = rownames(table_bv2),
        beside = TRUE) # Barras agrupadas
text(barp_bv2, table_bv2-1, labels = table_bv2)

##<-========== PASO 41. =========-> ## (38i)Una variable cualitativa y la otra cuantitativa: es necesario un boxplot

x = DATOS2026$EDAD
y = DATOS2026$SEXO
boxplot(x~y, horizontal = TRUE, col = rainbow(3), main = "Boxplot Sexo vs Edad - Santiago Ariza")

##<-========== PASO 42. =========->

3.38 (39i)Una variable cualitativa y la otra cuantitativa: es necesario un boxplot

library(ggplot2)
x = DATOS2026$EDAD
z = DATOS2026$ESTRATO
boxplot(x~z, horizontal = TRUE, xlab = "EDAD", ylab = "ESTRATOS", col = rainbow(3), main = "Boxplot Estrato vs Edad - Santiago Ariza")

##<-========== PASO 43. =========->

3.39 (40i)Una variable cualitativa y la otra cuantitativa: es necesario un boxplot

library(ggplot2)
x = DATOS2026$ESTATURA
z = DATOS2026$SEXO
boxplot(x~z, horizontal = TRUE, xlab = "ESTATURA", ylab = "SEXO", col = rainbow(3), main = "Boxplot Sexo vs Estatura - Santiago Ariza")

##<-========== PASO 43. =========->

3.40 (41i)Dos variables cuantitativas: es necesario un diagrama de dispersión

library(ggplot2)
x = DATOS2026$ESTATURA
y = DATOS2026$PESO
plot(x,y,  xlab = "ESTATURA", ylab = "PESO", col = rainbow(3), main = "Diagrama de Dispersión Peso vs Estatura - Santiago Ariza")
#dibujar una línea punteada vertical en el valor medio
mean(x)
## [1] 168.3919
mean(y)
## [1] 63.32432
abline (v = mean (x), lwd = 3, lty = 2)
 #dibujar una línea punteada horizontal en el valor medio
abline (h = mean (y), lwd = 3, lty = 2)

##<-========== PASO 44. =========->

mean(x)
## [1] 168.3919
mean(y)
## [1] 63.32432

##<-========== PASO 45. =========->

3.41 (42i)Recta de regresión lineal Simple

regresion1 = lm(y~x, data=DATOS2026)
regresion1
## 
## Call:
## lm(formula = y ~ x, data = DATOS2026)
## 
## Coefficients:
## (Intercept)            x  
##    -84.1267       0.8756

##<-========== PASO 47. =========->

3.42 (43i)Recta de regresión lineal Simple2

regresion2 = lm(x~y, data=DATOS2026)
regresion2
## 
## Call:
## lm(formula = x ~ y, data = DATOS2026)
## 
## Coefficients:
## (Intercept)            y  
##    137.0763       0.4945

##<-========== PASO 48. =========->

3.43 (45i)Recta de regresión lineal Simple

3.44 Haciendo uso de RStudio con la función summary.

summary(regresion2)
## 
## Call:
## lm(formula = x ~ y, data = DATOS2026)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.7479  -4.6462  -0.2041   4.1066  16.1973 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 137.07631    4.28941  31.957  < 2e-16 ***
## y             0.49453    0.06669   7.416 1.88e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.47 on 72 degrees of freedom
## Multiple R-squared:  0.433,  Adjusted R-squared:  0.4252 
## F-statistic: 54.99 on 1 and 72 DF,  p-value: 1.881e-10

##<-========== PASO 48. =========->

3.45 46i Diagrama de Dispersión y lineal de regresión

library(ggplot2)
x = DATOS2026$ESTATURA
y = DATOS2026$PESO
plot(x,y,  xlab = "ESTATURA", ylab = "PESO", col = rainbow(3), main = "Diagrama de Dispersión Peso vs Estatura - Santiago Ariza")
#dibujar una línea punteada vertical en el valor medio
abline (v = mean (x), lwd = 3, lty = 2)
 #dibujar una línea punteada horizontal en el valor medio
abline (h = mean (y), lwd = 3, lty = 2)

#ajustar un modelo de regresión lineal a los datos
 regresion1 <- lm (y ~ x, data = DATOS2026)

#definir los valores de intersección y pendiente
 a <- -13.20178 #Intercepto 
b <- 0.4552 # pendiente

#agregue la línea de regresión ajustada al diagrama de dispersión
 abline (a = a, b = b, col = "steelblue")

##<-========== PASO 49. =========->

3.46 Problema de aplicación:En la siguiente base de datos se encuentran consignados los pesos y estaturas de 50 estudiantes seleccionados al azar de un grupo de Estudiantes de Estadística I de la UTB.Complete el siguiente formulario de preguntas:

3.47 (a)Datos

taller_rl <- data.frame (x = c (88, 77, 68, 80, 68, 55, 89, 61, 72, 72, 79, 75, 68, 65, 70, 52, 78, 55, 96, 75, 44, 57, 60, 50, 93), y = c (175, 183, 158, 165, 175, 160, 160, 156, 174, 171, 160, 184, 163, 176, 167, 172, 168, 167, 181, 175, 153, 154, 169, 168, 187))

##<-========== PASO 50. =========->

3.48 (b)Diagrama de dispersión

plot(taller_rl$x,taller_rl$y,  xlab = "PESO", ylab = "ESTATURA", col = rainbow(3), main = "Diagrama de Dispersión Estatura vs Peso - Santiago Ariza")
#dibujar una línea punteada vertical en el valor medio
mean(taller_rl$x)
## [1] 69.88
mean(taller_rl$y)
## [1] 168.84
abline (v = mean (taller_rl$x), lwd = 3, lty = 2)
 #dibujar una línea punteada horizontal en el valor medio
abline (h = mean (taller_rl$y), lwd = 3, lty = 2)

##<-========== PASO 51. =========->

3.49 (51i)Coeficiente de Correlación de Pearson

cor(taller_rl$x,taller_rl$y)
## [1] 0.5133798

3.50 Se concluye que existe una cierta relación lineal entre La estatura y el Peso:

##<-========== PASO 52. =========->

3.51 (d)Recta de regresión lineal Simple

regresion3 = lm(taller_rl$y~taller_rl$x, data=taller_rl)
regresion3
## 
## Call:
## lm(formula = taller_rl$y ~ taller_rl$x, data = taller_rl)
## 
## Coefficients:
## (Intercept)  taller_rl$x  
##    143.9296       0.3565

3.52 (e)Recta de regresión lineal Simple

3.53 Haciendo uso de RStudio con la función summary.

summary(regresion3)
## 
## Call:
## lm(formula = taller_rl$y ~ taller_rl$x, data = taller_rl)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -15.656  -6.614   1.404   6.247  13.335 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 143.9296     8.8404  16.281 4.06e-14 ***
## taller_rl$x   0.3565     0.1242   2.869  0.00867 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.315 on 23 degrees of freedom
## Multiple R-squared:  0.2636, Adjusted R-squared:  0.2315 
## F-statistic: 8.231 on 1 and 23 DF,  p-value: 0.008673
plot(taller_rl$x,taller_rl$y,  xlab = "PESO", ylab = "ESTATURA", col = rainbow(3), main = "Diagrama de Dispersión Estatura vs Peso - Santiago Ariza")
#dibujar una línea punteada vertical en el valor medio
mean(taller_rl$x)
## [1] 69.88
mean(taller_rl$y)
## [1] 168.84
abline (v = mean (taller_rl$x), lwd = 3, lty = 2)
 #dibujar una línea punteada horizontal en el valor medio

abline (h = mean (taller_rl$y), lwd = 3, lty = 2)

#ajustar un modelo de regresión lineal a los datos
 regresion3 = lm(taller_rl$y~taller_rl$x, data=taller_rl)

#definir los valores de intersección y pendiente
 a <- 143.9296 #Intercepto 
b <- 0.3565 # pendiente

#agregue la línea de regresión ajustada al diagrama de dispersión
 abline (a = a, b = b, col = "steelblue")

##<-========== PASO 52. =========->

3.54 (52i)Los datos del fichero EdadPesoGrasas.txt corresponden a tres variables medidas en 25 individuos: edad, peso y cantidad de grasas en sangre. Para leer el fichero de datos y saber los nombres de las variables:

grasas <- read.table('http://verso.mat.uam.es/~joser.berrendero/datos/EdadPesoGrasas.txt', header = TRUE)
names(grasas)
## [1] "peso"   "edad"   "grasas"

##<-========== PASO 53. =========->

3.55 (53i)una matriz de diagramas de dispersión

pairs(grasas)

##<-========== PASO 54. =========->

3.56 (54i)una matriz de correlacion

cor(grasas)
##             peso      edad    grasas
## peso   1.0000000 0.2400133 0.2652935
## edad   0.2400133 1.0000000 0.8373534
## grasas 0.2652935 0.8373534 1.0000000

##<-========== PASO 55. =========->

3.57 (55i)Cálculo y representacion de la recta de mínimos cuadrados

regresion <- lm(grasas ~ edad, data = grasas)
summary(regresion)
## 
## Call:
## lm(formula = grasas ~ edad, data = grasas)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -63.478 -26.816  -3.854  28.315  90.881 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 102.5751    29.6376   3.461  0.00212 ** 
## edad          5.3207     0.7243   7.346 1.79e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 43.46 on 23 degrees of freedom
## Multiple R-squared:  0.7012, Adjusted R-squared:  0.6882 
## F-statistic: 53.96 on 1 and 23 DF,  p-value: 1.794e-07

##<-========== PASO 56. =========->

3.58 (56i)representación gráfica de la recta de mínimos cuadrados

plot(grasas$edad, grasas$grasas, xlab='Edad', ylab='Grasas', main = "Diagrama de Dispersión Grasas vs Edad - Santiago Ariza")
abline(regresion)

##<-========== PASO 57. =========->

3.59 (57i)Supongamos que queremos utilizar la recta de mínimos cuadrados para predecir la cantidad de grasas para individuos de edades 31,31,32,…,50

nuevas.edades <- data.frame(edad = seq(30, 50))
predict(regresion, nuevas.edades)
##        1        2        3        4        5        6        7        8 
## 262.1954 267.5161 272.8368 278.1575 283.4781 288.7988 294.1195 299.4402 
##        9       10       11       12       13       14       15       16 
## 304.7608 310.0815 315.4022 320.7229 326.0435 331.3642 336.6849 342.0056 
##       17       18       19       20       21 
## 347.3263 352.6469 357.9676 363.2883 368.6090