data <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/00519/heart_failure_clinical_records_dataset.csv",header=TRUE)
names(data) <- c('edad','anemia','creatinina fosfoquinasa (CPK)','diabetes','fracción de eyección','presión arterial alta','plaquetas','suero de creatinina','sodio sérico','sexo','fumar','hora','evento de muerte')
data$anemia <- NULL
data$`presión arterial alta` <- NULL
data$`creatinina fosfoquinasa (CPK)` <- NULL
data$`fracción de eyección` <- NULL
data$plaquetas <- NULL
data$`suero de creatinina`<- NULL
data$`sodio sérico` <- NULL
data$fumar <- NULL
hist(data$edad,col="yellow")
mean(data$edad)
## [1] 60.83389
median(data$edad)
## [1] 60
quantile(data$edad)
## 0% 25% 50% 75% 100%
## 40 51 60 70 95
range(data$edad)
## [1] 40 95
sd(data$edad)
## [1] 11.89481
var(data$edad)
## [1] 141.4865
library(moments)
skewness(data$edad)
## [1] 0.4209366
kurtosis(data$edad)
## [1] 2.798207
boxplot(data$edad, horizontal = TRUE, col="yellow")
hist(data$hora,col="yellow")
mean(data$hora)
## [1] 130.2609
median(data$hora)
## [1] 115
quantile(data$hora)
## 0% 25% 50% 75% 100%
## 4 73 115 203 285
range(data$hora)
## [1] 4 285
sd(data$hora)
## [1] 77.61421
var(data$hora)
## [1] 6023.965
library(moments)
skewness(data$hora)
## [1] 0.1271606
kurtosis(data$hora)
## [1] 1.788126
boxplot(data$hora,horizontal = TRUE, col="yellow")
tabla1=table(data$sexo)
tabla1
##
## 0 1
## 105 194
pie(tabla1, col="yellow")
barplot(tabla1, col="yellow")
tabla2=cumsum(tabla1)
tabla2
## 0 1
## 105 299
pie(tabla2, col="yellow")
barplot(tabla2, col="yellow")
tabla3=tabla1/margin.table(tabla1)
tabla3
##
## 0 1
## 0.3511706 0.6488294
pie(tabla3, col="yellow")
barplot(tabla3, col="yellow")
tabla4=round(((tabla1/margin.table(tabla1))*100),2)
tabla4
##
## 0 1
## 35.12 64.88
pie(tabla4, col="yellow")
barplot(tabla4, col="yellow")
tabla5=cumsum(round(((tabla1/margin.table(tabla1))*100),2))
tabla5
## 0 1
## 35.12 100.00
pie(tabla5, col="yellow")
barplot(tabla5, col="yellow")
tabla6=table(data$`evento de muerte`)
tabla6
##
## 0 1
## 203 96
pie(tabla6, col="yellow")
barplot(tabla6, col="yellow")
tabla7=cumsum(tabla6)
tabla7
## 0 1
## 203 299
pie(tabla7, col="yellow")
barplot(tabla7, col="yellow")
tabla8=tabla6/margin.table(tabla6)
tabla8
##
## 0 1
## 0.6789298 0.3210702
pie(tabla8, col="yellow")
barplot(tabla8, col="yellow")
tabla9=round(((tabla6/margin.table(tabla6))*100),2)
tabla9
##
## 0 1
## 67.89 32.11
pie(tabla9, col="yellow")
barplot(tabla9, col="yellow")
tabla10=cumsum(round(((tabla6/margin.table(tabla6))*100),2))
tabla10
## 0 1
## 67.89 100.00
pie(tabla10, col="yellow")
barplot(tabla10, col="yellow")
tabla11=table(data$diabetes)
tabla11
##
## 0 1
## 174 125
pie(tabla11, col="yellow")
barplot(tabla11, col="yellow")
tabla12=cumsum(tabla11)
tabla12
## 0 1
## 174 299
pie(tabla12, col="yellow")
barplot(tabla12, col="yellow")
tabla13=tabla11/margin.table(tabla11)
tabla13
##
## 0 1
## 0.5819398 0.4180602
pie(tabla13, col="yellow")
barplot(tabla13, col="yellow")
tabla14=round(((tabla11/margin.table(tabla11))*100),2)
tabla14
##
## 0 1
## 58.19 41.81
pie(tabla14, col="yellow")
barplot(tabla14, col="yellow")
tabla15=cumsum(round(((tabla11/margin.table(tabla11))*100),2))
tabla15
## 0 1
## 58.19 100.00
pie(tabla15, col="yellow")
barplot(tabla15, col="yellow")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.2
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.0.2
## corrplot 0.84 loaded
data$diabetes=NULL
data$sexo=NULL
data$`evento de muerte`=NULL
data.cor <- cor(data, method = "pearson")
round(data.cor, digits = 2)
## edad hora
## edad 1.00 -0.22
## hora -0.22 1.00
corrplot(data.cor)
acp.cov<-prcomp(data)
acp.cov
## Standard deviations (1, .., p=2):
## [1] 77.66100 11.58538
##
## Rotation (n x k) = (2 x 2):
## PC1 PC2
## edad -0.03510065 0.99938378
## hora 0.99938378 0.03510065
pairs(data)
data <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/00519/heart_failure_clinical_records_dataset.csv",header=TRUE)
names(data) <- c('edad','anemia','creatinina fosfoquinasa (CPK)','diabetes','fracción de eyección','presión arterial alta','plaquetas','suero de creatinina','sodio sérico','sexo','fumar','hora','evento de muerte')
data$anemia <- NULL
data$`presión arterial alta` <- NULL
data$`creatinina fosfoquinasa (CPK)` <- NULL
data$`fracción de eyección` <- NULL
data$plaquetas <- NULL
data$`suero de creatinina`<- NULL
data$`sodio sérico` <- NULL
data$fumar <- NULL
boxplot(data$edad ~ data$`evento de muerte`, col="yellow")
boxplot(data$hora ~ data$diabetes, col="yellow")
Con una base de datos con n=299, se han analizado 5 variables: 3 cualitativas y 2 cuantitativas, Diabetes, Evento de muerte, Sexo y Hora, Edad.
ANALISIS UNIVARIANTE:
Variable Edad:
Al hacer el análisis de ésta variable se encontró que el dato mínimo es de 40 y el máximo de 95 años, la media es de 60.83389 y una mediana de 60, son casi iguales lo que quiere decir que la distribución de los datos es casi simétrica. En el histograma se puede observar que los datos tiended a acumularse en los valores más pequeños, teniendo un sesgo hacia la izquierda, lo que se puede corroborar con el gráfico de bloque y donde se puede observar que no hay valores atípicos. También se encontró una desviación estándar de 11.89481, lo que quiere decir que los datos no están muy dispersos con respecto a la media. Se tiene una curtosis de 2.798207, esto nos indica que los datos no son simétricos, a que una curtosis 0 representa una distribución normal simétrica.
Variable Hora:
Se puede expresar que la media establece que en promedio las horas empleadas son de 130.2609 mientras que la mediana expresa que el 50% de los datos emplea menos de 115 horas. El gráfico de cajas muestra que no existen variables atípicas, pero sí un ligero sesgo hacia la izquierda. La desviación estándar arrojó un valor de 77.61421 lo que quiere decir que la mayoría de valores oscila entre más/menos 77.61421 con respecto a la media atirmética. Mientras la curtosis, con un valor de 1.788126,establece que tiene un decaimiento abrupto, es decir que hay datos que se alejan de la media.
ANÁLISIS BIVARIANTE:
Variable Sexo:
Ésta variable es cualitativa y booleana, donde 0 es mujer y 1 es hombre, al hacer un análisis se pudo obtener mediante una tabla de frecuencias que existen 194 hombres y 150 mujeres y con un tabla de frecuencias relativa en porcentajes se puede decir que el 35.12% son mujeres y el 64.88% son hombres, siendo más del 50%.
Variable Evento de muerte:
También es una variable booleana, donde 0 si el paciente murió y 1 no murió, al realizar una tabla de frecuencias absolutas, podemos observar que 203 personas murieron con un infarto mientras que sólo 96 personas quedaron con vida, con una tabla de frecuencias relativas en porcentajes podemos decir que el 67.89% de las personas vivieron y el 32.11% murieron.
Variable Diabetes:
Booleana 0 Tiene Diabetes y 1 No tiene Diabetes, mediante tabla de frecuencia absoluta observamos que 174 personas poseen diabetes y 125 no poseen, en porcentajes con una tabla de frecuencia relativa en porcentaje se obtuvo que 58.19% tienen diabetes y 41.81% no tienen.
ANALISIS BIVARIANTE:
Variables cualitativas:
Al hacer un análisis multivariante de las variables cuantitativas, por medio de la matriz de correlación se pudo observar que la variable edad y hora poseen una correlación de -0.22 al ser un valor muy bajo y casi cero, quiere decir que éstas 2 variables no poseen ningún tipo de correlación. Mediante la matriz de covarianza y gráfica de dispersión se puede observar que las variables están muy dispersos.
Variables cualitativas:
Edad vs Evento de muerte:
Podemos observar en el gráfico de bloque que las personas que mueren en por un infarto están en edades de entre 50 y 65 años teniendo 1 dato dato atípico, y las personas que no mueren a causa de un infarto están entre 55 y 75 años.
Hora vs Diabetes:
También en una gráfico de bloque se puede observar que a las personas que poseen diabetes se les hace un seguimiento de entre 55 y 200 horas, y las personas que no poseen diabetes se les hace un seguimiento de entre 55 y 210 horas aproximadamente.
El indice de muerte por un infarto es alto, ya que por 299 personas analizadas 203 mueren y sólo 96 se salvan pero la probabilidad de que un hombre obtenga un infarto es mayor que el de una mujer.
Muchas de éstas personas poseen muchas enfermedades más, una de ellas es la diabetes, de 299 personas 174 la poseen es decir que existe una probabilidad muy alta de que aunque no tenga diabetes muera.
Las personas que sufren un infarto están entre 40 y 95 años, las personas que mueren poseen una media de 60 años, pero un gráfica sesgado hacia abajo, es decir que existe la probabilidad que éste evento sufran los de menor edad a 60 años. Mientras que la probabilidad de que vivan es casi simétrica es decir que al tener una media de 65 años, pueden salvarse por igual ya que tiene un sesgo muy leve hacia la izquierda. Pero al estar casi en el mismo rango de edades, éstos 2 eventos, es probable que ocurran cualquiera de los dos eventos.