(1) Análisis Exploratorio de Datos (EDA)

Es una forma de analizar datos que consiste en inspeccionar y explorar los datos antes de formular una hipótesis o ajustar algún predictor o buscar otro objetivo inferencial más ambicioso. Se busca conocer los estadísticos de resumen simples, dirigidos a la visualización mediante gráficos, explorar los datos para entender, interpretar y calcular estadísticos de resumen tanto de manera cuantitativa como visual. El tipo de análisis que se puede realizar es uno univariado, multivariado o bivariado.

Los tipos de variables pueden ser categóricos o continuos.

1.1) Datos Categóricos

Vamos a simular algunos datos categóricos

gender <- c(rep('Boy',10),rep('Girl',12))
drink <- c(rep('Coke',5),rep('Sprite',3),rep('Coffee',6),rep('Tea',7),rep('Water',1))
age <- sample(c('Young','Old'),size = length(gender),replace = TRUE)

Se desordenarán los datos

n = length(gender)

gender <- gender[sample(1:n,n)] #Muestra de tama?o n con elem. de 1 a n
gender
##  [1] "Girl" "Boy"  "Girl" "Boy"  "Boy"  "Boy"  "Boy"  "Boy"  "Boy"  "Girl"
## [11] "Girl" "Boy"  "Boy"  "Girl" "Girl" "Boy"  "Girl" "Girl" "Girl" "Girl"
## [21] "Girl" "Girl"
drink <- drink[sample(1:n,n)] 
drink
##  [1] "Coke"   "Coffee" "Tea"    "Coffee" "Sprite" "Tea"    "Coke"   "Tea"   
##  [9] "Coffee" "Sprite" "Tea"    "Coffee" "Tea"    "Coke"   "Coffee" "Tea"   
## [17] "Water"  "Coke"   "Sprite" "Tea"    "Coke"   "Coffee"
age <- age[sample(1:n,n)]
age
##  [1] "Young" "Old"   "Old"   "Old"   "Old"   "Young" "Young" "Young" "Old"  
## [10] "Old"   "Young" "Young" "Old"   "Young" "Young" "Old"   "Young" "Young"
## [19] "Young" "Young" "Old"   "Young"

Si se tienen variables categóricas, lo primero por conocer son las frecuencias de cada nivel de estas variables. Cuando una variable es cadena de caracter, puede mantenerse como tal o pasarse a una de tipo factor.

Para contar las frecuencias de cada nivel de las variables categóricas:

table(gender)
## gender
##  Boy Girl 
##   10   12
table(drink)
## drink
## Coffee   Coke Sprite    Tea  Water 
##      6      5      3      7      1
table(age)
## age
##   Old Young 
##     9    13

Si en lugar de ello, se desea calcular las proporciones:

prop.table(table(gender))
## gender
##       Boy      Girl 
## 0.4545455 0.5454545

1.1.1) Datos Categóricos Bivariados

library(magrittr)
library(help = magrittr)

cbind(gender, drink) %>% head
##      gender drink   
## [1,] "Girl" "Coke"  
## [2,] "Boy"  "Coffee"
## [3,] "Girl" "Tea"   
## [4,] "Boy"  "Coffee"
## [5,] "Boy"  "Sprite"
## [6,] "Boy"  "Tea"
head(cbind(gender, drink))
##      gender drink   
## [1,] "Girl" "Coke"  
## [2,] "Boy"  "Coffee"
## [3,] "Girl" "Tea"   
## [4,] "Boy"  "Coffee"
## [5,] "Boy"  "Sprite"
## [6,] "Boy"  "Tea"
table1 <- table(gender,drink)
table1
##       drink
## gender Coffee Coke Sprite Tea Water
##   Boy       4    1      1   4     0
##   Girl      2    4      2   3     1

1.1.2) Datos Categóricos Multivariados

table2_1 <- table(gender, drink, age)
table2_1
## , , age = Old
## 
##       drink
## gender Coffee Coke Sprite Tea Water
##   Boy       3    0      1   2     0
##   Girl      0    1      1   1     0
## 
## , , age = Young
## 
##       drink
## gender Coffee Coke Sprite Tea Water
##   Boy       1    1      0   2     0
##   Girl      2    3      1   2     1
table2_2 <- ftable(gender,drink,age)
table2_2
##               age Old Young
## gender drink               
## Boy    Coffee       3     1
##        Coke         0     1
##        Sprite       1     0
##        Tea          2     2
##        Water        0     0
## Girl   Coffee       0     2
##        Coke         1     3
##        Sprite       1     1
##        Tea          1     2
##        Water        0     1

1.2) Datos Continuos

Las variables continuas admiten más operaciones que las categóricas tales como sumas, medias, percentiles, etc. Por el lado de las variables categóricas, solo admiten diagramas, estadísticas categórica.

Se generará un vector con elementos pseudo-aleatorios

x <- c(rexp(20),runif(80,0,20),rnorm(50,9,6.5),rweibull(20,5))

x <- x[sample(1:170,170)]
plot(x)

Se calculan las medidas de posición y de escala

m1 <- mean(x)
m1
## [1] 7.39807
m2 <- median(x)
m2
## [1] 5.53942
desEst <- sd(x)
RangoIntercuantilico <- IQR(x) 

1.3) Visualización de datos categóricos

Para datos categóricos univariados:

barplot(table(age))

Para datos categóricos bivariados:

plot(table1, main = 'Gr?fico Bivariado')

plot(table2_1, main = 'Gr?fico Bivariado')

1.4) Visualización de datos continuos

En primer lugar se simula una muestra

sample1 <- rnorm(100)
stripchart(x = sample1)

Histograma

hist(sample1, freq = T, main = 'Frecuencias')

hist(sample1, freq = F, main = 'Proporciones')

h1 <- hist(sample1)

Se colocará una curva de densidad sobre el histograma

hist(sample1, freq = F, main = 'Proporción/Densidad')
lines(density(sample1))
rug(sample1)

Teorema Central del Límite: Si aumento la cantidad de elementos de mi muestra, me acerco más a la distribución teórica

sample2 <- rnorm(10^6)
hist(sample2, freq = F, main = 'Proporción/Densidad')
lines(density(sample2))
rug(sample2)

LS0tDQp0aXRsZTogIkFOw4FMSVNJUyBFWFBMT1JBVE9SSU8gREUgREFUT1MgKEVEQSkiDQphdXRob3I6ICJDYXJsb3MgRmVybmFuZG8gQWd1aXJyZSBDb3Zlw7FhcyINCmRhdGU6ICcyMDIyLTA4LTA2Jw0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyAqKigxKSBBbsOhbGlzaXMgRXhwbG9yYXRvcmlvIGRlIERhdG9zIChFREEpKioNCg0KRXMgdW5hIGZvcm1hIGRlIGFuYWxpemFyIGRhdG9zIHF1ZSBjb25zaXN0ZSBlbiBpbnNwZWNjaW9uYXIgeSBleHBsb3JhciBsb3MgZGF0b3MgYW50ZXMgZGUgZm9ybXVsYXIgdW5hIGhpcMOzdGVzaXMgbyBhanVzdGFyIGFsZ8O6biBwcmVkaWN0b3IgbyBidXNjYXIgb3RybyBvYmpldGl2byBpbmZlcmVuY2lhbCBtw6FzIGFtYmljaW9zby4gU2UgYnVzY2EgY29ub2NlciBsb3MgZXN0YWTDrXN0aWNvcyBkZSByZXN1bWVuIHNpbXBsZXMsIGRpcmlnaWRvcyBhIGxhIHZpc3VhbGl6YWNpw7NuIG1lZGlhbnRlIGdyw6FmaWNvcywgZXhwbG9yYXIgbG9zIGRhdG9zIHBhcmEgZW50ZW5kZXIsIGludGVycHJldGFyIHkgY2FsY3VsYXIgZXN0YWTDrXN0aWNvcyBkZSByZXN1bWVuIHRhbnRvIGRlIG1hbmVyYSBjdWFudGl0YXRpdmEgY29tbyB2aXN1YWwuIEVsIHRpcG8gZGUgYW7DoWxpc2lzIHF1ZSBzZSBwdWVkZSByZWFsaXphciBlcyB1bm8gdW5pdmFyaWFkbywgbXVsdGl2YXJpYWRvIG8gYml2YXJpYWRvLg0KDQpMb3MgdGlwb3MgZGUgdmFyaWFibGVzIHB1ZWRlbiBzZXIgY2F0ZWfDs3JpY29zIG8gY29udGludW9zLg0KDQojIyAqKioxLjEpIERhdG9zIENhdGVnw7NyaWNvcyoqKg0KDQpWYW1vcyBhIHNpbXVsYXIgYWxndW5vcyBkYXRvcyBjYXRlZ8Ozcmljb3MNCg0KYGBge3IgY2F0fQ0KZ2VuZGVyIDwtIGMocmVwKCdCb3knLDEwKSxyZXAoJ0dpcmwnLDEyKSkNCmRyaW5rIDwtIGMocmVwKCdDb2tlJyw1KSxyZXAoJ1Nwcml0ZScsMykscmVwKCdDb2ZmZWUnLDYpLHJlcCgnVGVhJyw3KSxyZXAoJ1dhdGVyJywxKSkNCmFnZSA8LSBzYW1wbGUoYygnWW91bmcnLCdPbGQnKSxzaXplID0gbGVuZ3RoKGdlbmRlcikscmVwbGFjZSA9IFRSVUUpDQpgYGANCg0KU2UgZGVzb3JkZW5hcsOhbiBsb3MgZGF0b3MgDQoNCmBgYHtyfQ0KbiA9IGxlbmd0aChnZW5kZXIpDQoNCmdlbmRlciA8LSBnZW5kZXJbc2FtcGxlKDE6bixuKV0gI011ZXN0cmEgZGUgdGFtYT9vIG4gY29uIGVsZW0uIGRlIDEgYSBuDQpnZW5kZXINCg0KZHJpbmsgPC0gZHJpbmtbc2FtcGxlKDE6bixuKV0gDQpkcmluaw0KDQphZ2UgPC0gYWdlW3NhbXBsZSgxOm4sbildDQphZ2UNCmBgYA0KDQoNClNpIHNlIHRpZW5lbiB2YXJpYWJsZXMgY2F0ZWfDs3JpY2FzLCBsbyBwcmltZXJvIHBvciBjb25vY2VyIHNvbiBsYXMgZnJlY3VlbmNpYXMgZGUgY2FkYSBuaXZlbCBkZSBlc3RhcyB2YXJpYWJsZXMuIEN1YW5kbyB1bmEgdmFyaWFibGUgZXMgY2FkZW5hIGRlIGNhcmFjdGVyLCBwdWVkZSBtYW50ZW5lcnNlIGNvbW8gdGFsIG8gcGFzYXJzZSBhIHVuYSBkZSB0aXBvIGZhY3Rvci4NCg0KUGFyYSBjb250YXIgbGFzIGZyZWN1ZW5jaWFzIGRlIGNhZGEgbml2ZWwgZGUgbGFzIHZhcmlhYmxlcyBjYXRlZ8OzcmljYXM6DQoNCmBgYHtyfQ0KdGFibGUoZ2VuZGVyKQ0KdGFibGUoZHJpbmspDQp0YWJsZShhZ2UpDQpgYGANCg0KU2kgZW4gbHVnYXIgZGUgZWxsbywgc2UgZGVzZWEgY2FsY3VsYXIgbGFzIHByb3BvcmNpb25lczoNCg0KYGBge3J9DQpwcm9wLnRhYmxlKHRhYmxlKGdlbmRlcikpDQpgYGANCg0KIyMjIDEuMS4xKSBEYXRvcyBDYXRlZ8Ozcmljb3MgQml2YXJpYWRvcw0KDQpgYGB7cn0NCmxpYnJhcnkobWFncml0dHIpDQpsaWJyYXJ5KGhlbHAgPSBtYWdyaXR0cikNCg0KY2JpbmQoZ2VuZGVyLCBkcmluaykgJT4lIGhlYWQNCmhlYWQoY2JpbmQoZ2VuZGVyLCBkcmluaykpDQoNCnRhYmxlMSA8LSB0YWJsZShnZW5kZXIsZHJpbmspDQp0YWJsZTENCmBgYA0KDQoNCg0KIyMjIDEuMS4yKSBEYXRvcyBDYXRlZ8Ozcmljb3MgTXVsdGl2YXJpYWRvcw0KDQpgYGB7cn0NCnRhYmxlMl8xIDwtIHRhYmxlKGdlbmRlciwgZHJpbmssIGFnZSkNCnRhYmxlMl8xDQoNCnRhYmxlMl8yIDwtIGZ0YWJsZShnZW5kZXIsZHJpbmssYWdlKQ0KdGFibGUyXzINCmBgYA0KDQoNCiMjICoqKjEuMikgRGF0b3MgQ29udGludW9zKioqDQoNCkxhcyB2YXJpYWJsZXMgY29udGludWFzIGFkbWl0ZW4gbcOhcyBvcGVyYWNpb25lcyBxdWUgbGFzIGNhdGVnw7NyaWNhcyB0YWxlcyBjb21vIHN1bWFzLCBtZWRpYXMsIHBlcmNlbnRpbGVzLCBldGMuIFBvciBlbCBsYWRvIGRlIGxhcyB2YXJpYWJsZXMgY2F0ZWfDs3JpY2FzLCBzb2xvIGFkbWl0ZW4gZGlhZ3JhbWFzLCBlc3RhZMOtc3RpY2FzIGNhdGVnw7NyaWNhLg0KDQpTZSBnZW5lcmFyw6EgdW4gdmVjdG9yIGNvbiBlbGVtZW50b3MgcHNldWRvLWFsZWF0b3Jpb3MNCg0KYGBge3IsIGZpZy5hbGlnbj0nY2VudGVyJ30NCnggPC0gYyhyZXhwKDIwKSxydW5pZig4MCwwLDIwKSxybm9ybSg1MCw5LDYuNSkscndlaWJ1bGwoMjAsNSkpDQoNCnggPC0geFtzYW1wbGUoMToxNzAsMTcwKV0NCnBsb3QoeCkNCg0KYGBgDQoNClNlIGNhbGN1bGFuIGxhcyBtZWRpZGFzIGRlIHBvc2ljacOzbiB5IGRlIGVzY2FsYQ0KDQpgYGB7cn0NCm0xIDwtIG1lYW4oeCkNCm0xDQptMiA8LSBtZWRpYW4oeCkNCm0yDQoNCmRlc0VzdCA8LSBzZCh4KQ0KUmFuZ29JbnRlcmN1YW50aWxpY28gPC0gSVFSKHgpIA0KYGBgDQoNCg0KIyMgKioqMS4zKSBWaXN1YWxpemFjacOzbiBkZSBkYXRvcyBjYXRlZ8Ozcmljb3MqKioNCg0KUGFyYSBkYXRvcyBjYXRlZ8Ozcmljb3MgdW5pdmFyaWFkb3M6DQoNCmBgYHtyLCBmaWcuYWxpZ249J2NlbnRlcid9DQpiYXJwbG90KHRhYmxlKGFnZSkpDQoNCmBgYA0KDQoNClBhcmEgZGF0b3MgY2F0ZWfDs3JpY29zIGJpdmFyaWFkb3M6DQoNCmBgYHtyLCBmaWcuYWxpZ249J2NlbnRlcid9DQpwbG90KHRhYmxlMSwgbWFpbiA9ICdHcj9maWNvIEJpdmFyaWFkbycpDQpwbG90KHRhYmxlMl8xLCBtYWluID0gJ0dyP2ZpY28gQml2YXJpYWRvJykNCmBgYA0KDQoNCiMjICoqKjEuNCkgVmlzdWFsaXphY2nDs24gZGUgZGF0b3MgY29udGludW9zKioqDQoNCkVuIHByaW1lciBsdWdhciBzZSBzaW11bGEgdW5hIG11ZXN0cmENCg0KYGBge3IsIGZpZy5hbGlnbj0nY2VudGVyJ30NCnNhbXBsZTEgPC0gcm5vcm0oMTAwKQ0Kc3RyaXBjaGFydCh4ID0gc2FtcGxlMSkNCmBgYA0KDQpIaXN0b2dyYW1hDQoNCmBgYHtyLCBmaWcuYWxpZ249J2NlbnRlcid9DQpoaXN0KHNhbXBsZTEsIGZyZXEgPSBULCBtYWluID0gJ0ZyZWN1ZW5jaWFzJykNCmhpc3Qoc2FtcGxlMSwgZnJlcSA9IEYsIG1haW4gPSAnUHJvcG9yY2lvbmVzJykNCg0KaDEgPC0gaGlzdChzYW1wbGUxKQ0KYGBgDQoNClNlIGNvbG9jYXLDoSB1bmEgY3VydmEgZGUgZGVuc2lkYWQgc29icmUgZWwgaGlzdG9ncmFtYQ0KDQpgYGB7ciwgZmlnLmFsaWduPSdjZW50ZXInfQ0KaGlzdChzYW1wbGUxLCBmcmVxID0gRiwgbWFpbiA9ICdQcm9wb3JjacOzbi9EZW5zaWRhZCcpDQpsaW5lcyhkZW5zaXR5KHNhbXBsZTEpKQ0KcnVnKHNhbXBsZTEpDQpgYGANCg0KKipUZW9yZW1hIENlbnRyYWwgZGVsIEzDrW1pdGU6KiogU2kgYXVtZW50byBsYSBjYW50aWRhZCBkZSBlbGVtZW50b3MgZGUgbWkgbXVlc3RyYSwgbWUgYWNlcmNvIG3DoXMgYSBsYSBkaXN0cmlidWNpw7NuIHRlw7NyaWNhDQoNCmBgYHtyLCBmaWcuYWxpZ249J2NlbnRlcid9DQpzYW1wbGUyIDwtIHJub3JtKDEwXjYpDQpoaXN0KHNhbXBsZTIsIGZyZXEgPSBGLCBtYWluID0gJ1Byb3BvcmNpw7NuL0RlbnNpZGFkJykNCmxpbmVzKGRlbnNpdHkoc2FtcGxlMikpDQpydWcoc2FtcGxlMikNCmBgYA0KDQo=