R es un lenguaje de programación y entorno de software libre enfocado principalmente en el análisis estadístico y la visualización gráfica. Robert Gentleman y Ross Ihaka desarrollaron este en la Universidad de Auckland, Nueva Zelanda; es una implementación del lenguage S.
Análisis Estadístico: Ofrece diversos métodos estadísticos como modelos lineales y no lineales, pruebas clásicas, análisis de series temporales, clasificación, clustering entre otros.
Visualización de Datos: Se le reconoce por sus habilidades gráficas, lo que posibilita la generación de gráficos personalizados y de alta calidad, elemento esencial para el análisis y la presentación de datos.
Programación: Permite a los usuarios desarrollar nuevas funciones, mejorar las existentes y automatizar tareas repetitivas. Es un lenguaje de programación completo.
Extensibilidad: La arquitectura de R es modular y se puede extender con paquetes adicionales. En CRAN (Red de Archivo R Integral) hay una gran cantidad de paquetes disponibles, los cuales abarcan diversos métodos estadísticos y gráficos.
Comunidad y Soporte: La presencia de una gran cantidad de usuarios y desarrolladores se refleja en la existencia de abundantes recursos para aprender y recibir soporte, como foros, grupos de discusión y documentación extensa.
Análisis de Datos: Es ideal cuando se necesitan realizar análisis estadísticos complejos, exploratorios y confirmatorios.
Visualización de Datos: Si necesitas presentar eficazmente tus resultados de análisis con gráficos personalizados y de alta calidad.
Ciencia de Datos y Machine Learning: Se utiliza mucho en el ámbito de la ciencia de datos para realizar tareas de machine learning, mining y análisis predictivo.
Investigación Académica: Debido a su capacidad para manejar y analizar grandes volúmenes de datos, así como por su integración con otros lenguajes y herramientas de análisis, muchos investigadores y académicos utilizan R.
Automatización de Tareas: Puedes automatizar las tareas repetitivas de análisis de datos utilizando scripts en el lenguaje R.
Integración y Reproducibilidad: R ofrece herramientas y paquetes que hacen más fáciles las tareas de integración con otros sistemas y la reproducibilidad de resultados en proyectos.
La creación del Script en RStudio es muy facil y sencillo,
solamente nos dirigimos a la parte superior y seguir los siguientes
pasos: File -> New File -> R Script o simplemente
oprimiendo Ctrl + Shift + N tal y como se enseña en la
imagen:
En un sentido más amplio, todos los elementos que manipulamos en
R son lo que comúnmente llamos como
objetos. Especificamente los objetos en
R son secuencias ordenadas que pueden contener informacion
numérica (variables cuantitativas), alfanumérico (variable cualitativo)
o de tipo lógico ( TRUE o FALSE ), pero no se
pueden hacer ningun tipo de mezclas de estos.
La función que me permite crear los objetos en R es la
función concatenar que se escribe de la siguiente forma
c() y dentro de esos parentesis se coloca la información
que se desea almacenar. Una vez el objeto sea creado por lo general se
acostumbra a ponerle un etiquetado utilizando un pequeño nombre que me
indique que información guardé en mi objeto, para eso usamos el comando
<- colocando éste en medio del nombre y el objeto.
mascotas<- c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE)
mascota_fav<- c('Perro','Loro','Perro','Gato','Gato','Hamster','Pescado','Gato')
edad<- c(17,22,19,21,15,19,21,20)
Aquí tenemos un ejemplo del tipo de información que pueden obtener
nuestros objetos al momento de ser creados; en el objeto
mascotas tenemos la informacion de las respuestas de 8
personas a la pregunta de si tienen o no tienen mascotas y es de tipo
lógico, el objeto mascota_fav es de tipo
cualitativo y almacena cual es la mascota favorita de cada una
de las personas, por ultimo, en edad tenemos las edades
cuando cada uno obtuvo su primera mascota y es de tipo
cuantitativo.
En R, se encuentran diversos tipos de objetos que actúan como contenedores para almacenar información necesaria para llevar a cabo análisis estadisticos y crear gráficos. Entre los principales objetos en R se encuentran las variables (ya vistas anteriormente), matrices, arreglos, marcos de datos y listas.
Son estructuras bidimensionales que contienen elementos del mismo
tipo de datos. Sepueden crear mediante la función matrix(),
especificando el número de filas y columnas:
matriz<- matrix(1:8, nrow = 4, ncol = 4)
matriz
## [,1] [,2] [,3] [,4]
## [1,] 1 5 1 5
## [2,] 2 6 2 6
## [3,] 3 7 3 7
## [4,] 4 8 4 8
Son similares a las matrices pero pueden tener más de dos
dimensiones. Se crean utilizando la función array(),
indicando las dimensiones deseadas.
arreglo<- array(1:16, dim = c(8,4,8))
arreglo
## , , 1
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 2
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 3
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 4
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 5
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 6
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 7
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
##
## , , 8
##
## [,1] [,2] [,3] [,4]
## [1,] 1 9 1 9
## [2,] 2 10 2 10
## [3,] 3 11 3 11
## [4,] 4 12 4 12
## [5,] 5 13 5 13
## [6,] 6 14 6 14
## [7,] 7 15 7 15
## [8,] 8 16 8 16
Son estructuras bidimensionales que contienen variables con varios tipos de datos. Se pueden crear manualmente o importar desde fuentes externas.
marco_dato <- data.frame(
nombre = c("Juan", "María", "Pedro"),
edad = c(25, 30, 28),
sexo = c("M", "F", "M")
)
marco_dato
## nombre edad sexo
## 1 Juan 25 M
## 2 María 30 F
## 3 Pedro 28 M
Son estructuras flexibles que pueden contener elementos de diferentes
tipos de datos, incluidos otros objetos de R. Se crean
utilizando la función list().
listas <- list(
objeto = c(1, 2, 3),
matriz = matrix(1:4, nrow = 2),
dataframe = data.frame(x = 1:3, y = letters[1:3])
)
listas
## $objeto
## [1] 1 2 3
##
## $matriz
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
##
## $dataframe
## x y
## 1 1 a
## 2 2 b
## 3 3 c
En R, hay muchas funciones que se usan frecuentemente para diferentes tareas. Aquí te dejo una lista de algunas de las funciones más comunes y útiles en R, organizadas por categorías:
read. csv(): Lee archivos CSV.
read. table(): Leer archivos de texto.
readRDS(): Lee archivos RDS.
read_excel(): Es necesario tener el paquete readxl para
leer archivos de Excel.
write.csv(): Guardar información en un archivo CSV.
write.table(): Registra información en un archivo de
texto.
saveRDS(): Almacena un objeto en un archivo RDS.
write_excel(): Utiliza el paquete writexl para guardar
datos en un archivo de Excel.
subset(): Obtén subconjuntos de un data frame.
merge(): Une dos marcos de datos.
rbind(), cbind(): Junta los data frames por
filas o columnas.
reshape(): Reordena un marco de datos (requiere el
paquete reshape2 o tidyr).
summary(): Da un resumen de estadísticas
descriptivas.
mean(), median(), sd(),
var(): Encuentra el promedio, la mediana, la desviación
estándar y la varianza.
quantile(): Calcula cuantiles.
lm(): Ajusta modelos lineales.
glm(): Ajustar modelos lineales generalizados.
nls(): Modifica modelos que no son lineales.
anova(): Haz un análisis de varianza.
t.test(): Haz la prueba t.
chisq.test(): Realice el test de chi-cuadrado.
wilcox.test(): Haz la prueba de Wilcoxon.
head(), tail(): Muestra las filas iniciales
o finales de un marco de datos.
str(): Muestra cómo está estructurado un objeto.
dim(), nrow(), ncol():
Visualiza las dimensiones de un marco de datos.
sum(), prod(): Adición y multiplicación de
elementos.
length(): La extensión de un vector.
unique(): Obtén los valores que no se repiten en un
vector.
sort(), order(): Organiza los elementos de
un vector.
plot(): Grafica un diagrama de dispersion.
hist(): Crea un histograma.
boxplot(): Dibuja un gráfico de caja.
barplot(): Genera un gráfico de barras.
ggplot(): El paquete ggplot2 tiene como función
principal la creación de gráficos complejos y personalizados.
qplot(): Uso eficiente de ggplot2.
Las comparaciones y combinaciones de condiciones se realizan utilizando operaciones lógicas en R. El control de flujo y la toma de decisiones en el código dependen fundamentalmente de estas operaciones.
==):Comprueba si dos valores son iguales.
a <- 5
b <- 5
resultado <- a == b
print(resultado) # TRUE
## [1] TRUE
!=):Comprueba si dos valores son diferentes.
a <- 5
b <- 3
resultado <- a != b
print(resultado) # TRUE
## [1] TRUE
>):Comprueba si un valor es mayor que otro.
a <- 5
b <- 3
resultado <- a > b
print(resultado) # TRUE
## [1] TRUE
<):Comprueba si un valor es menor que otro.
a <- 3
b <- 5
resultado <- a < b
print(resultado) # TRUE
## [1] TRUE
>=):Comprueba si un valor es menor o igual a otro.
a <- 5
b <- 5
resultado <- a >= b
print(resultado) # TRUE
## [1] TRUE
<=):Comprueba si un valor es menor o igual a otro.
a <- 3
b <- 5
resultado <- a <= b
print(resultado) # TRUE
## [1] TRUE
Más claramente lo podemos obsevar en el siguiente ejemplo:
# Definir un vector de edades
edades <- c(23, 45, 17, 30, 15, 28)
# Comprobar cuáles edades son mayores de edad (>= 18)
mayores_de_edad <- edades >= 18
print(mayores_de_edad)
## [1] TRUE TRUE FALSE TRUE FALSE TRUE
# Contar cuántos son mayores de edad
numero_mayores_de_edad <- sum(mayores_de_edad)
print(numero_mayores_de_edad)
## [1] 4
# Filtrar los mayores de edad
edades_mayores <- edades[mayores_de_edad]
print(edades_mayores)
## [1] 23 45 30 28
# Comprobar si todas las edades son mayores de edad
todos_mayores <- all(edades >= 18)
print(todos_mayores)
## [1] FALSE
# Comprobar si al menos una edad es mayor de edad
al_menos_uno_mayor <- any(edades >= 18)
print(al_menos_uno_mayor)
## [1] TRUE
En R, los gráficos son una parte fundamental para la visualización de los datos.
plot):x <- rnorm(100)
y <- rnorm(100)
plot(x, y, main="Gráfico de Dispersión", xlab="Eje X", ylab="Eje Y")
hist):data <- rnorm(1000)
hist(data, main="Histograma", xlab="Valores", ylab="Frecuencia", col="blue")
boxplot):data <- rnorm(100)
boxplot(data, main="Diagrama de Cajas", ylab="Valores")
barplot):counts <- table(mtcars$cyl)
barplot(counts, main="Gráfico de Barras", xlab="Número de Cilindros", ylab="Frecuencia", col="red")
plot con
type="l"):x <- seq(1, 10, by=0.1)
y <- sin(x)
plot(x, y, type="l", main="Gráfico de Líneas", xlab="Eje X", ylab="Eje Y")
Para personalizar los gráficos, puedes modificar parámetros como colores, etiquetas, tipos de línea, etc.
plot(x, y, main="Título Personalizado", xlab="Etiqueta X", ylab="Etiqueta Y")
plot(x, y, col="blue")
hist(data, col="lightgreen")
plot(x, y, pch=19, col="red") # pch define el tipo de punto
plot(x, y, type="b", lty=2, lwd=2) # lty define el tipo de línea, lwd define el grosor de la línea
R te permite exportar gráficos a varios formatos, como PNG, PDF, JPEG, etc.
png("mi_grafico.png")
plot(x, y)
dev.off()
## png
## 2
pdf("mi_grafico.pdf")
plot(x, y)
dev.off()
## png
## 2
jpeg("mi_grafico.jpg")
plot(x, y)
dev.off()
## png
## 2
En RStudio, puedes exportar gráficos utilizando la interfaz gráfica también. Haz clic en el ícono de exportar (usualmente un disquete o una flecha) en la ventana de Plots y elige el formato que prefieras.
Lo anterior aplicado todo en conjunto a modo de ejemplo tenemos:
x <- seq(1, 10, by=0.1)
y <- sin(x)
plot(x, y, type="l", main="Gráfico de Seno", xlab="Eje X", ylab="Eje Y", col="blue", lty=2, lwd=2)
legend("topright", legend="Seno", col="blue", lty=2)
png("grafico_seno.png")
plot(x, y, type="l", main="Gráfico de Seno", xlab="Eje X", ylab="Eje Y", col="blue", lty=2, lwd=2)
dev.off()
## png
## 2
Consola (Console): Aquí es donde escribes y ejecutas comandos de R. Los resultados y mensajes de error se muestran en esta ventana.
Editor de Scripts (Source): Permite escribir,
guardar y ejecutar scripts completos. En RStudio, puedes abrirlo desde
File -> New File -> R Script.
Ventana de Gráficos (Plots): Muestra los gráficos generados por los comandos gráficos. Puedes navegar por gráficos anteriores y guardarlos desde esta ventana.
Ambiente (Environment): Muestra las variables y objetos que están actualmente en la memoria. Te permite inspeccionar y gestionar los datos cargados.
Historial (History): Guarda un registro de todos los comandos ejecutados en la sesión. Puedes reutilizar comandos anteriores desde aquí.
Importar datos en R desde archivos .csv y .xls es una tarea común y fundamental para el análisis de datos.
Los archivos .csv (valores separados por comas) son uno de los
formatos más comunes para almacenar datos tabulares. Puedes importar
estos archivos en R utilizando la función read.csv.
library(readr)
MEN_1_ <- read_csv("C:/Users/Lenovo/Downloads/MEN(1).csv")
## Rows: 11219 Columns: 41
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (5): CÓDIGO_MUNICIPIO, MUNICIPIO, CÓDIGO_DEPARTAMENTO, DEPARTAMENTO, ETC
## dbl (35): AÑO, CÓDIGO_ETC, POBLACIÓN_5_16, TASA_MATRICULACIÓN_5_16, COBERTUR...
## num (1): TAMAÑO_PROMEDIO_DE_GRUPO
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(MEN_1_)
Para importar archivos Excel (.xls o .xlsx), puedes utilizar paquetes como readxl o openxlsx.
library(readxl)
R_1_ <- read_excel("C:/Users/Lenovo/Downloads/R (1).xlsx")
View(R_1_)
Para crear un dataframe en R, primero necesitas definir las
variables que serán las columnas del data frame. Luego, puedes usar la
función data.frame() para combinar estas variables en una
estructura tabular.
edad <- c(25, 30, 22, 35)
nombre <- c("Ana", "Luis", "María", "Juan")
casado <- c(TRUE, FALSE, TRUE, FALSE)
ingresos <- c(50000, 60000, 45000, 70000)
print("Variables creadas:")
## [1] "Variables creadas:"
print(edad)
## [1] 25 30 22 35
print(nombre)
## [1] "Ana" "Luis" "María" "Juan"
print(casado)
## [1] TRUE FALSE TRUE FALSE
print(ingresos)
## [1] 50000 60000 45000 70000
mi_data_frame <- data.frame(edad, nombre, casado, ingresos)
print("Data Frame creado:")
## [1] "Data Frame creado:"
print(mi_data_frame)
## edad nombre casado ingresos
## 1 25 Ana TRUE 50000
## 2 30 Luis FALSE 60000
## 3 22 María TRUE 45000
## 4 35 Juan FALSE 70000
Cargar una base de datos en R puede hacerse de diversas formas, como desde una página web, la base de datos integrada en R (como iris o mtcars), archivos locales, servidores de bases de datos, API web y más.
Si la base de datos está disponible en una URL, puedes cargarla
utilizando funciones como read.csv() o
read.table() proporcionando la URL como argumento al objeto
creado con dicho URL.
R tiene varias bases de datos integradas, como iris,
mtcars, airquality, etc. Puedes acceder a
ellas directamente.
datos <- iris # Carga la base de datos de iris
La estadística descriptiva se enfoca en la recopilación, organización, presentación y resumen de datos numéricos con el fin de comprender y comunicar claramente sus características fundamentales. Es una rama esencial de la estadística.
Para calcular la media, moda y desviación estándar de las variables
en un data frame en R, puedes utilizar funciones como
mean(), Mode(), y sd(),
respectivamente.
media_edad <- mean(mi_data_frame$edad)
media_ingresos <- mean(mi_data_frame$ingresos)
moda_nombre <- Mode(mi_data_frame$nombre)
desviacion_casado <- sd(mi_data_frame$casado)
print(paste("Media de la edad:", media_edad))
## [1] "Media de la edad: 28"
print(paste("Media de los ingresos:", media_ingresos))
## [1] "Media de los ingresos: 56250"
print(paste("Moda del nombre:", moda_nombre))
## [1] "Moda del nombre: Ana"
print(paste("Desviación estándar de casado:", desviacion_casado))
## [1] "Desviación estándar de casado: 0.577350269189626"
Para calcular un resumen de las medidas de tendencia central (como la media, mediana y moda) para un data frame en R, puedes utilizar la funcion como `summary() que proporciona un resumen estadístico básico.
summary()La función summary() proporciona un resumen básico de las medidas de tendencia central para cada variable en el data frame.
resumen <- summary(mi_data_frame)
print(resumen)
## edad nombre casado ingresos
## Min. :22.00 Length:4 Mode :logical Min. :45000
## 1st Qu.:24.25 Class :character FALSE:2 1st Qu.:48750
## Median :27.50 Mode :character TRUE :2 Median :55000
## Mean :28.00 Mean :56250
## 3rd Qu.:31.25 3rd Qu.:62500
## Max. :35.00 Max. :70000
Puedes utilizar diversas técnicas para calcular la dispersión y forma de los datos en un dataframe en R, como por ejemplo el cálculo del rango, varianza y desviación estándar. Además, puedes visualizar la distribución de los datos mediante gráficos como histogramas o diagramas de caja.
El rango es la diferencia entre el valor máximo y el valor mínimo en un conjunto de datos.
rango_edad <- max(mi_data_frame$edad) - min(mi_data_frame$edad)
rango_ingresos <- max(mi_data_frame$ingresos) - min(mi_data_frame$ingresos)
print(paste("Rango de edad:", rango_edad))
## [1] "Rango de edad: 13"
print(paste("Rango de ingresos:", rango_ingresos))
## [1] "Rango de ingresos: 25000"
La varianza mide qué tan dispersos están los valores en torno a la media. La desviación estándar es simplemente la raíz cuadrada de la varianza.
varianza_edad <- var(mi_data_frame$edad)
varianza_ingresos <- var(mi_data_frame$ingresos)
desviacion_edad <- sd(mi_data_frame$edad)
desviacion_ingresos <- sd(mi_data_frame$ingresos)
print(paste("Varianza de edad:", varianza_edad))
## [1] "Varianza de edad: 32.6666666666667"
print(paste("Varianza de ingresos:", varianza_ingresos))
## [1] "Varianza de ingresos: 122916666.666667"
print(paste("Desviación estándar de edad:", desviacion_edad))
## [1] "Desviación estándar de edad: 5.71547606649408"
print(paste("Desviación estándar de ingresos:", desviacion_ingresos))
## [1] "Desviación estándar de ingresos: 11086.7789130417"
Un histograma es una representación gráfica de la distribución de frecuencia de los datos.
hist(mi_data_frame$edad, main = "Histograma de Edades", xlab = "Edad", ylab = "Frecuencia")
Un diagrama de caja proporciona una forma visual de resumir la distribución de los datos a través de sus cuartiles.
boxplot(mi_data_frame$ingresos, main = "Diagrama de Caja de Ingresos", ylab = "Ingresos")
Este código te dará el rango, la varianza y la desviación estándar de las variables, además de gráficos que representan la distribución de los datos de edad e ingresos. Estas medidas y gráficos te ayudarán a tener una comprensión más clara de la dispersión y la forma de los datos en tu conjunto de datos.
Puedes utilizar la función table() en R para contar la
frecuencia de cada valor en una variable categórica y la función
cut() para agrupar una variable numérica en intervalos o
clases al crear una tabla de distribución de frecuencias.
Supongamos que queremos crear una tabla de distribución de frecuencias para la variable “edad”.
Si tienes datos numéricos y deseas agruparlos en intervalos o clases
para crear una tabla de distribución de frecuencias, puedes emplear la
función cut() para establecer los intervalos y asignarles
etiquetas. Por ejemplo, aquí agrupamos las edades en intervalos de 10
años:
mi_data_frame$grupo_edad <- cut(mi_data_frame$edad, breaks = seq(20, 40, by = 10), labels = c("20-29", "30-39"))
Una vez que tienes tus datos agrupados (o si ya son categóricos),
puedes usar la función table() para contar la frecuencia de
cada categoría. Por ejemplo, para la variable “grupo_edad”:
tabla_frecuencia_edad <- table(mi_data_frame$grupo_edad)
print("Tabla de Distribución de Frecuencias - Edad:")
## [1] "Tabla de Distribución de Frecuencias - Edad:"
print(tabla_frecuencia_edad)
##
## 20-29 30-39
## 3 1
Lo primero que debemos hacer es cargar la base de datos de la siguiente forma:
url<- "https://raw.githubusercontent.com/fhernanb/datos/master/babies.txt"
data_url<- read.table(url, header = TRUE, sep = "\t")
Luego de esos si podemos empezar con el análisis descriptivo de la misma.
data_completa <- na.omit(data_url)
data_completa <- as.data.frame(data_completa)
data_completa_numerica <- data_completa[, sapply(data_completa, is.numeric)]
nombres_numericos <- names(data_completa_numerica)
medidas_descriptivas <- data.frame(
Variable = nombres_numericos,
Media = colMeans(data_completa_numerica),
Mediana = apply(data_completa_numerica, 2, median),
Desviacion_Estandar = apply(data_completa_numerica, 2, sd),
Minimo = apply(data_completa_numerica, 2, min),
Maximo = apply(data_completa_numerica, 2, max),
Asimetria = apply(data_completa_numerica, 2, skewness),
Curtosis = apply(data_completa_numerica, 2, kurtosis)
)
medidas_descriptivas
## Variable Media Mediana Desviacion_Estandar Minimo Maximo
## bwt bwt 119.46252 120 18.328671 55 176
## gestation gestation 279.10136 280 16.010305 148 353
## age age 27.22828 26 5.817839 15 45
## height height 64.04940 64 2.526102 53 72
## weight weight 128.47871 125 20.734282 87 250
## Asimetria Curtosis
## bwt -0.1330402 0.4285111
## gestation -0.8490807 6.7395891
## age 0.5964838 -0.3071539
## height -0.1009031 0.1867888
## weight 1.2097389 2.7122605
distribucion_frecuencia <- lapply(data_completa_numerica, function(x) table(cut(x, breaks = 10)))
names(distribucion_frecuencia) <- nombres_numericos
distribucion_frecuencia
## $bwt
##
## (54.9,67.1] (67.1,79.2] (79.2,91.3] (91.3,103] (103,116] (116,128]
## 6 20 52 142 247 325
## (128,140] (140,152] (152,164] (164,176]
## 237 98 36 11
##
## $gestation
##
## (148,168] (168,189] (189,210] (210,230] (230,250] (250,271] (271,292] (292,312]
## 1 1 1 6 47 225 700 168
## (312,332] (332,353]
## 22 3
##
## $age
##
## (15,18] (18,21] (21,24] (24,27] (27,30] (30,33] (33,36] (36,39] (39,42] (42,45]
## 23 171 250 237 186 119 84 67 29 8
##
## $height
##
## (53,54.9] (54.9,56.8] (56.8,58.7] (58.7,60.6] (60.6,62.5] (62.5,64.4]
## 2 1 11 78 226 340
## (64.4,66.3] (66.3,68.2] (68.2,70.1] (70.1,72]
## 324 154 32 6
##
## $weight
##
## (86.8,103] (103,120] (120,136] (136,152] (152,168] (168,185] (185,201]
## 84 327 435 200 69 36 14
## (201,217] (217,234] (234,250]
## 7 1 1