Asignatura:
Estadística Aplicada a la Computación
Integrantes:
Yennifer Alyshender Ñañajuari Villalta
Abraham Elías Cueva Rico
Asesor:
Victor Manuel Guevara Ponce
Periodo académico
Cuarto Periodo Académico
ICA – PERÚ
2024
Este conjunto de datos proviene del Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales. El objetivo es predecir en base a mediciones diagnósticas si un paciente tiene diabetes.
Se impusieron varias restricciones a la selección de estas instancias de una base de datos más grande. En particular, todos los pacientes aquí son mujeres de al menos 21 años de edad de ascendencia india Pima.
Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales (NIDDK por sus siglas en inglés).
El caso que se va a analizar implica un conjunto de datos relacionado con la diabetes, proporcionado por el Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales. Este conjunto de datos se centra en predecir si una paciente, de ascendencia india Pima y con al menos 21 años de edad, tiene diabetes. Las variables incluidas en el conjunto de datos son:
Embarazos: Número de veces que la paciente ha estado embarazada.
Glucosa: Concentración de glucosa plasmática a las 2 horas en una prueba de tolerancia oral a la glucosa.
Presión arterial: Presión arterial diastólica (mm Hg).
Grosor de la piel: Grosor del pliegue cutáneo del tríceps (mm).
Insulina: Insulina sérica de 2 horas (mu U/ml).
IMC (Índice de Masa Corporal): Peso en kg dividido por el cuadrado de la altura en metros.
DiabetesPedigreeFunction: Función de pedigrí de diabetes.
Edad: Edad de la paciente en años.
Resultado: Variable de clase (0 o 1) que indica si la paciente tiene diabetes (1) o no (0).
A continuación, se especifica las variables y tipo de variables con su descripción
# Asignacion de directorio
setwd("C:/Users/ricoa/Documents/cuarto ciclo/Estadística Aplicada a la Computación/EFINAL")
getwd()
## [1] "C:/Users/ricoa/Documents/cuarto ciclo/Estadística Aplicada a la Computación/EFINAL"
# Cargar el conjunto de datos CSV
PacientesConDiabetes<- read.csv("diabetes.csv")
# Mostrar datos
head(PacientesConDiabetes)
## Pregnancies Glucose BloodPressure SkinThickness Insulin BMI
## 1 6 148 72 35 0 33.6
## 2 1 85 66 29 0 26.6
## 3 8 183 64 0 0 23.3
## 4 1 89 66 23 94 28.1
## 5 0 137 40 35 168 43.1
## 6 5 116 74 0 0 25.6
## DiabetesPedigreeFunction Age Outcome
## 1 0.627 50 1
## 2 0.351 31 0
## 3 0.672 32 1
## 4 0.167 21 0
## 5 2.288 33 1
## 6 0.201 30 0
library(ggplot2)
library(dplyr)
library(readr)
# Embarazos
ggplot(PacientesConDiabetes, aes(x = Pregnancies)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Embarazos",
y = "Cantidad",
title = "Distribucion de las pacientes segun los embarazos que ha tenido") +
theme_classic()
# Edad
ggplot(PacientesConDiabetes, aes(x = Age)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Edad",
y = "Cantidad",
title = "Distribucion de las pacientes segun las Edades") +
theme_classic()
# Glucosa
ggplot(PacientesConDiabetes, aes(x = Glucose)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Glucosa medido en mg/dL",
y = "Cantidad",
title = "Distribucion de las pacientes segun del Nivel de Glucosa en sangre") +
theme_classic()
# Presión Arterial
ggplot(PacientesConDiabetes, aes(x = BloodPressure)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Presión arterial en mm Hg",
y = "Cantidad",
title = "Distribucion de las pacientes segun la medición de la presión arterial") +
theme_classic()
# Grosor de la piel
ggplot(PacientesConDiabetes, aes(x = SkinThickness)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Grosor de la piel en mm",
y = "Cantidad",
title = "Distribucion de las pacientes segun el grosor de la piel") +
theme_classic()
# Nivel de insulina en sangre
ggplot(PacientesConDiabetes, aes(x = Insulin)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Nivel de insulina en sangre en mu U/ml",
y = "Cantidad",
title = "Distribucion de las pacientes segun el nivel de insulina en sangre ") +
theme_classic()
# Índice de Masa Corporal
ggplot(PacientesConDiabetes, aes(x = BMI)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Índice de Masa Corporal",
y = "Cantidad",
title = "Distribucion de las pacientes segun el índice de masa corporal") +
theme_classic()
# Porcentaje de Diabetes en la Ascendencia
ggplot(PacientesConDiabetes, aes(x = Pregnancies)) +
geom_histogram(fill = "purple",
color = "black",
binwidth = 1) +
labs(x = "Porcentaje de diabetes en la ascendencia",
y = "Cantidad",
title = "Distribucion de las pacientes segun el porcentaje de diabetes en la ascendencia
") +
theme_classic()
# Glucosa
boxplot(PacientesConDiabetes$Glucose)
# Presión Arterial
boxplot(PacientesConDiabetes$BloodPressure)
# Grosor de la piel
boxplot(PacientesConDiabetes$SkinThickness)
# Nivel de insulina en sangre
boxplot(PacientesConDiabetes$Insulin)
# Índice de Masa Corporal
boxplot(PacientesConDiabetes$BMI)
# Porcentaje de Diabetes en la Ascendencia
boxplot(PacientesConDiabetes$Pregnancies)
# Glucosa
ggplot(PacientesConDiabetes, aes(x = Glucose)) +
geom_density(fill = "blue") +
labs(x = "Glucosa medido en mg/dL",
y = "Densidad",
title = "Densidad de las pacientes segun del nivel de glucosa en sangre") +
theme_classic()
# Presión Arterial
ggplot(PacientesConDiabetes, aes(x = BloodPressure)) +
geom_density(fill = "blue") +
labs(x = "Presión arterial en mm Hg",
y = "Densidad",
title = "Densidad de las pacientes segun la medición de la presión arterial") +
theme_classic()
# Grosor de la piel
ggplot(PacientesConDiabetes, aes(x = SkinThickness)) +
geom_density(fill = "blue") +
labs(x = "Grosor de la piel en mm",
y = "Densidad",
title = "Densidad de las pacientes segun el grosor de la piel") +
theme_classic()
# Nivel de insulina en sangre
ggplot(PacientesConDiabetes, aes(x = Insulin)) +
geom_density(fill = "blue") +
labs(x = "Nivel de insulina en sangre en mu U/ml",
y = "Densidad",
title = "Densidad de las pacientes segun el nivel de insulina en sangre") +
theme_classic()
# Índice de Masa Corporal
ggplot(PacientesConDiabetes, aes(x = BMI)) +
geom_density(fill = "blue") +
labs(x = "Índice de Masa Corporal",
y = "Densidad",
title = "Densidad de las pacientes segun el índice de masa corporal") +
theme_classic()
# Porcentaje de Diabetes en la Ascendencia
ggplot(PacientesConDiabetes, aes(x = Pregnancies)) +
geom_density(fill = "blue") +
labs(x = "Porcentaje de diabetes en la ascendencia",
y = "Densidad",
title = "Densidad de las pacientes segun el porcentaje de diabetes en la ascendencia") +
theme_classic()
promedio = sum(PacientesConDiabetes$Age)/length(PacientesConDiabetes$Age)
promedio
## [1] 33.24089
Interpretacion: La edad promedio de las pacientes es 33.24089 años
median(PacientesConDiabetes$Age)
## [1] 29
El valor de la mediana es: 29 años
Interpretacion: El 50% de las pacientes su edad maxima es 29 años. El otro 50% (la mitad) su valor minimo es 29 años.
library(modeest)
mfv(PacientesConDiabetes$Age)
## [1] 22
Interpretacion: La edad mas frecuente (que mas se repite) es 22 años respectivamente.
quantile(PacientesConDiabetes$DiabetesPedigreeFunction)
## 0% 25% 50% 75% 100%
## 0.07800 0.24375 0.37250 0.62625 2.42000
Segun los resultados:
El valor minimo de los porcentajes de diabetes en la ascendencia 0.07800
Cuartil 1 \((Q_1)\) Interpretacion: es 0.24375 ; El 25% de las pacientes de ascendencia india Pima mayores de 21 años, su porcentajes de diabetes máximo en la ascendencia 0.24375
Cuartil 2 \((Q_2)\) Interpretación: es 0.37250 ; El 50% de las pacientes de ascendencia india Pima mayores de 21 años, su porcentajes de diabetes máximo en la ascendencia 0.37250
Cuartil 3 \((Q_3)\) Interpretación: es 0.62625 ; El 75% de las pacientes de ascendencia india Pima mayores de 21 años, su porcentajes de diabetes máximo en la ascendencia 0.62625
library(fBasics)
skewness(PacientesConDiabetes$DiabetesPedigreeFunction)
## [1] 1.912418
## attr(,"method")
## [1] "moment"
Resultado: 1.912418, como el valor es positivo, entonces la distribucion de los datos es asimétrica positiva, esto quiere decir que los valores están concentrados en los puntos minimos (la mayoria de las pacientes tienen porcentajes de diabetes bajo en la ascendencia).
kurtosis(PacientesConDiabetes$DiabetesPedigreeFunction)
## [1] 5.528539
## attr(,"method")
## [1] "excess"
Resultado: 5.528539, el valor es mayor que 3, por lo tanto, la distribución de los datos es leptocurtica, quiere decir que los datos estan muy concentrados alrededor de las medidas de endencia central (El apuntamiento es alto).
# Mostramos la estructura de los datos
str(PacientesConDiabetes)
## 'data.frame': 768 obs. of 9 variables:
## $ Pregnancies : int 6 1 8 1 0 5 3 10 2 8 ...
## $ Glucose : int 148 85 183 89 137 116 78 115 197 125 ...
## $ BloodPressure : int 72 66 64 66 40 74 50 0 70 96 ...
## $ SkinThickness : int 35 29 0 23 35 0 32 0 45 0 ...
## $ Insulin : int 0 0 0 94 168 0 88 0 543 0 ...
## $ BMI : num 33.6 26.6 23.3 28.1 43.1 25.6 31 35.3 30.5 0 ...
## $ DiabetesPedigreeFunction: num 0.627 0.351 0.672 0.167 2.288 ...
## $ Age : int 50 31 32 21 33 30 26 29 53 54 ...
## $ Outcome : int 1 0 1 0 1 0 1 0 1 1 ...
# Verificamos las columnas que tienen valores perdidos
which(colSums(is.na(PacientesConDiabetes))!=0)
## named integer(0)
# Verificamos las filas que tienen valores perdidos
a<-which(rowSums(is.na(PacientesConDiabetes))!=0)
length(a)*100/dim(PacientesConDiabetes)[1]
## [1] 0
# Verificamos si hay patrón de los datos faltantes
library(VIM)
library(mice)
missingraf=aggr(PacientesConDiabetes,numbers=T)
# Mostramos el resumen de la gráfica
summary(missingraf)
##
## Missings per variable:
## Variable Count
## Pregnancies 0
## Glucose 0
## BloodPressure 0
## SkinThickness 0
## Insulin 0
## BMI 0
## DiabetesPedigreeFunction 0
## Age 0
## Outcome 0
##
## Missings in combinations of variables:
## Combinations Count Percent
## 0:0:0:0:0:0:0:0:0 768 100
# Representación matricial missing (Esto se realiza con el fin de evaluar patrones de comportamiento)
matrixplot(PacientesConDiabetes)
# Otra forma de representación
library(mice)
md.pattern(PacientesConDiabetes,rotate.names = T)
## /\ /\
## { `---' }
## { O O }
## ==> V <== No need for mice. This data set is completely observed.
## \ \|/ /
## `-----'
## Pregnancies Glucose BloodPressure SkinThickness Insulin BMI
## 768 1 1 1 1 1 1
## 0 0 0 0 0 0
## DiabetesPedigreeFunction Age Outcome
## 768 1 1 1 0
## 0 0 0 0
# Visualización diferenciando tipo de datos
library(visdat)
vis_dat(PacientesConDiabetes)
vis_miss(PacientesConDiabetes)
Resultado: Según los resulatos se muestra que este conjunto de datos se observa completamente.
# a. Eliminado todos los valores missing
pacientes_correccion1<- na.omit(PacientesConDiabetes)
which(colSums(is.na(pacientes_correccion1))!=0)
## named integer(0)
# Verificamos las dimensiones (comparemos la perdida de información)
dim(pacientes_correccion1)
## [1] 768 9
# b. Aplicando técnicas de imputación
# Imputación por medidas de tendencia central
library(DMwR2)
pacientes_correccion2<-centralImputation(PacientesConDiabetes) #DMwR, mediana (númerico), moda(no númerico)
which(colSums(is.na(pacientes_correccion2))!=0)
## named integer(0)
# Verificamos las dimensiones
dim(pacientes_correccion2)
## [1] 768 9
# Imputación por medidas de tendencia central utilizando la mediana
library(VIM)
pacientes_correccion3<-initialise(PacientesConDiabetes,method="median") #media (continuos) mediana (discretos), moda(no númerico)
#Verificamos las dimensiones
dim(pacientes_correccion3)
## [1] 768 9
# Utilizando K-Vecinos más cercanos
pacientes_correccion4<-knnImputation(PacientesConDiabetes, k=10)
## Warning in knnImputation(PacientesConDiabetes, k = 10): No case has missing
## values. Stopping as there is nothing to do.
dim(pacientes_correccion4)
## [1] 768 9
boxplot(PacientesConDiabetes$Age)
Según los resultados, se identifica valores atípicos. Vamos a identificarlo y plantear estrategia de corrección
# Calcular el RIC (RIC = Q3 - Q1)
q1_Edad <- quantile(PacientesConDiabetes$Age, 0.25)
q3_Edad <- quantile(PacientesConDiabetes$Age, 0.75)
RIC_Edad <- q3_Edad-q1_Edad
RIC_Edad
## 75%
## 17
# Limites o bigotes (Superior e inferior)
bigote_inferior_Edad <- q1_Edad-1.5*RIC_Edad
bigote_inferior_Edad
## 25%
## -1.5
bigote_superior_Edad <- q3_Edad+1.5*RIC_Edad
bigote_superior_Edad
## 75%
## 66.5
# Identificar lo valores atípicos
outliers_det_Edad <- PacientesConDiabetes$Age[PacientesConDiabetes$Age < bigote_inferior_Edad | PacientesConDiabetes$Age > bigote_superior_Edad]
outliers_det_Edad
## [1] 69 67 72 81 67 67 70 68 69
# Original
hist(PacientesConDiabetes$Age, 12)
Para sacar la raiz cuadrada, simplemente se puede utilizar la función sqrt
pcd <- sqrt(PacientesConDiabetes$Age)
head(pcd)
## [1] 7.071068 5.567764 5.656854 4.582576 5.744563 5.477226
Gráfico
hist(sqrt(PacientesConDiabetes$Age))
pcd <- exp(PacientesConDiabetes$Age)
head(pcd)
## [1] 5.184706e+21 2.904885e+13 7.896296e+13 1.318816e+09 2.146436e+14
## [6] 1.068647e+13
Gráfico
hist(exp(PacientesConDiabetes$Age))
Forma 2
edad_exp<- exp(PacientesConDiabetes$Age)
hist(edad_exp)
pcd <- log(PacientesConDiabetes$Age)
head(pcd)
## [1] 3.912023 3.433987 3.465736 3.044522 3.496508 3.401197
Gráfico
hist(log(PacientesConDiabetes$Age))
Cambiar la base 2
pcd <- log(PacientesConDiabetes$Age, base=2)
head(pcd)
## [1] 5.643856 4.954196 5.000000 4.392317 5.044394 4.906891
Gráfico 2
hist(log(PacientesConDiabetes$Age, base=2))
#Obtener solo tranaformaciones
edad_sqrt <- sqrt(PacientesConDiabetes$Age)
edad_exp <- exp(PacientesConDiabetes$Age)
edad_ln <- log(PacientesConDiabetes$Age)
edad_log2 <- log(PacientesConDiabetes$Age, base=2)
edad_log5 <- log(PacientesConDiabetes$Age, base=5)
Gráfico
par(mfrow=c(3,2))
hist(PacientesConDiabetes$Age)
hist(edad_sqrt)
hist(edad_exp)
hist(edad_ln)
hist(edad_log2)
hist(edad_log5)
La visualización de la distribucion puede mejorarse con la gráfica de densidad
par(mfrow=c(3,2))
plot(density(PacientesConDiabetes$Age), main = "Distribucion de edad originales")
plot(density(edad_sqrt), main = "Distribucion de edad tranformadas - sqrt")
plot(density(edad_exp), main = "Distribucion de edad tranformadas - exp")
plot(density(edad_ln), main = "Distribucion de edad tranformadas - ln")
plot(density(edad_log2), main = "Distribucion de edad tranformadas - log2")
plot(density(edad_log5), main = "Distribucion de edad tranformadas - log5 ")
par(mfrow=c(1,1))
Método 1: Por partes
pcd <- PacientesConDiabetes$Age
head(pcd)
## [1] 50 31 32 21 33 30
media_edad <- mean(PacientesConDiabetes$Age)
media_edad
## [1] 33.24089
desv_est_edad <- sd(PacientesConDiabetes$Age)
desv_est_edad
## [1] 11.76023
edad_estandar <- (PacientesConDiabetes$Age)/desv_est_edad
head(edad_estandar)
## [1] 4.251617 2.636003 2.721035 1.785679 2.806067 2.550970
Método 2: Directo
edad_estandar2 <- (PacientesConDiabetes$Age-mean(PacientesConDiabetes$Age))/sd(PacientesConDiabetes$Age)
head(edad_estandar2)
## [1] 1.42506672 -0.19054773 -0.10551539 -1.04087112 -0.02048305 -0.27558007
Método 3: Apoyarse en las funciones de R Función scale
edad_estandar3 <- scale(PacientesConDiabetes$Age)
head(edad_estandar3)
## [,1]
## [1,] 1.42506672
## [2,] -0.19054773
## [3,] -0.10551539
## [4,] -1.04087112
## [5,] -0.02048305
## [6,] -0.27558007
Método 1:
edad_normal <- (PacientesConDiabetes$Age-min(PacientesConDiabetes$Age))/(max(PacientesConDiabetes$Age)-min(PacientesConDiabetes$Age))
head(edad_normal)
## [1] 0.4833333 0.1666667 0.1833333 0.0000000 0.2000000 0.1500000
Método 2: Función
library(scales)
pcda <- rescale(PacientesConDiabetes$Age)
head(pcda)
## [1] 0.4833333 0.1666667 0.1833333 0.0000000 0.2000000 0.1500000
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
head(pre_procesamiento<-preProcess(PacientesConDiabetes[,4:9])) # Así por defecto muestra la est. Z
## $dim
## [1] 768 6
##
## $bc
## NULL
##
## $yj
## NULL
##
## $et
## NULL
##
## $invHyperbolicSine
## NULL
##
## $mean
## SkinThickness Insulin BMI
## 20.5364583 79.7994792 31.9925781
## DiabetesPedigreeFunction Age Outcome
## 0.4718763 33.2408854 0.3489583
head(predict(pre_procesamiento, PacientesConDiabetes[,4:9]))
## SkinThickness Insulin BMI DiabetesPedigreeFunction Age
## 1 0.9066791 -0.6924393 0.2038799 0.4681869 1.42506672
## 2 0.5305558 -0.6924393 -0.6839762 -0.3648230 -0.19054773
## 3 -1.2873733 -0.6924393 -1.1025370 0.6040037 -0.10551539
## 4 0.1544326 0.1232213 -0.4937213 -0.9201630 -1.04087112
## 5 0.9066791 0.7653372 1.4088275 5.4813370 -0.02048305
## 6 -1.2873733 -0.6924393 -0.8108128 -0.8175458 -0.27558007
## Outcome
## 1 1.3650064
## 2 -0.7316434
## 3 1.3650064
## 4 -0.7316434
## 5 1.3650064
## 6 -0.7316434
library(caret)
head(pre_procesamiento<-preProcess(PacientesConDiabetes[,4:9], method = "range"))
## $dim
## [1] 768 6
##
## $bc
## NULL
##
## $yj
## NULL
##
## $et
## NULL
##
## $invHyperbolicSine
## NULL
##
## $mean
## NULL
head(predict(pre_procesamiento, PacientesConDiabetes[,4:9]))
## SkinThickness Insulin BMI DiabetesPedigreeFunction Age Outcome
## 1 0.3535354 0.0000000 0.5007452 0.23441503 0.4833333 1
## 2 0.2929293 0.0000000 0.3964232 0.11656704 0.1666667 0
## 3 0.0000000 0.0000000 0.3472429 0.25362938 0.1833333 1
## 4 0.2323232 0.1111111 0.4187779 0.03800171 0.0000000 0
## 5 0.3535354 0.1985816 0.6423249 0.94363792 0.2000000 1
## 6 0.0000000 0.0000000 0.3815201 0.05251921 0.1500000 0
# Conjunto de datos con las variables Age y Outcome
conjunto <- data.frame(Bmi = PacientesConDiabetes$BMI,
BloodPressure = PacientesConDiabetes$BloodPressure)
head(conjunto)
## Bmi BloodPressure
## 1 33.6 72
## 2 26.6 66
## 3 23.3 64
## 4 28.1 66
## 5 43.1 40
## 6 25.6 74
Pasos para construir un modelo de regresion:
Paso 1: Determinar las variables X, Y
Paso 2: Evaluar la realacion entre variables(Correlacion)graficamente
# Graficar Bmi vs BloodPressure
plot(x = conjunto$Bmi, y = conjunto$BloodPressure)
# También se puede utilizar la función pairs
pairs(conjunto)
Interpretación: Según los resultados hay relacion negativa entre la Edad y el Resultado
# Mediante la funcion cor
cor(conjunto) # Matriz de correlaciones
## Bmi BloodPressure
## Bmi 1.0000000 0.2818053
## BloodPressure 0.2818053 1.0000000
Coeficiente de correlacion: r = 0.2818053
Interpretación: Existe correlación lineal positiva entre Bmi y BloodPressure.
Recordar(si r es mejor que 0.35 para algunos autores, no es viable la regresion, para otros autores se puede probar la hipotesis)
Paso 3: Regresion
Modelo general: \(\hat{Y} = b_o +
b_1X\)
Modelo para el caso: \(\hat{Age} = b_0 + B_1
BloodPressure\)
#Mmodelo de regresión lineal
modelo <- lm(Bmi ~ BloodPressure, data = conjunto)
# Resumen de resultados
summary(modelo)
##
## Call:
## lm(formula = Bmi ~ BloodPressure, data = conjunto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.080 -4.792 -0.134 4.408 30.413
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.06016 1.01334 23.743 < 2e-16 ***
## BloodPressure 0.11479 0.01412 8.129 1.74e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.57 on 766 degrees of freedom
## Multiple R-squared: 0.07941, Adjusted R-squared: 0.07821
## F-statistic: 66.08 on 1 and 766 DF, p-value: 1.738e-15
##
## Call:
## lm(formula = Bmi ~ BloodPressure, data = conjunto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -35.080 -4.792 -0.134 4.408 30.413
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 24.06016 1.01334 23.743 < 2e-16 ***
## BloodPressure 0.11479 0.01412 8.129 1.74e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7.57 on 766 degrees of freedom
## Multiple R-squared: 0.07941, Adjusted R-squared: 0.07821
## F-statistic: 66.08 on 1 and 766 DF, p-value: 1.738e-15
Modelo fnal con los resultados sería:
Modelo general:
\(\hat{y} = 24.060164 + 0.11479
X\)
Modelo para el caso:
\(\hat{Age} = 24.060164 + 0.11479 BloodPressure\)