Introducción

En el ámbito de la ciencia de datos, el data.frame() es una de las estructuras más fundamentales en R. Representa una tabla de datos, donde cada columna puede contener diferentes tipos de datos (numéricos, texto, lógicos), y cada fila representa una observación o caso.

Los data.frame() son ampliamente utilizados porque:

Aprender a crear data.frame() a partir de vectores y matrices es esencial para la preparación de datos, exploración y análisis estadístico.


Crear data.frame() a partir de vectores

Ejemplo 1: Información de clientes para análisis de segmentación

cliente_id <- 1:4
edad <- c(25, 40, 33, 50)
ingreso_mensual <- c(2000, 3500, 2700, 4500)
compra_frecuente <- c(TRUE, FALSE, TRUE, TRUE)

clientes_df <- data.frame(
  ClienteID = cliente_id,
  Edad = edad,
  Ingreso = ingreso_mensual,
  Frecuente = compra_frecuente
)
clientes_df
##   ClienteID Edad Ingreso Frecuente
## 1         1   25    2000      TRUE
## 2         2   40    3500     FALSE
## 3         3   33    2700      TRUE
## 4         4   50    4500      TRUE

Ejemplo 2: Resultados de campañas de marketing digital

campaña <- c("A", "B", "C")
clics <- c(120, 150, 180)
conversiones <- c(12, 18, 20)

marketing_df <- data.frame(
  Campaña = campaña,
  Clicks = clics,
  Conversiones = conversiones
)
marketing_df
##   Campaña Clicks Conversiones
## 1       A    120           12
## 2       B    150           18
## 3       C    180           20

Ejemplo 3: Análisis de abandono de clientes (churn)

id <- c(101, 102, 103, 104)
tiempo_uso_meses <- c(12, 8, 24, 6)
churn <- c(FALSE, TRUE, FALSE, TRUE)

churn_df <- data.frame(
  ID = id,
  TiempoUso = tiempo_uso_meses,
  Abandono = churn
)
churn_df
##    ID TiempoUso Abandono
## 1 101        12    FALSE
## 2 102         8     TRUE
## 3 103        24    FALSE
## 4 104         6     TRUE

Crear data.frame() a partir de matrices

Ejemplo 4: Calificaciones por estudiante en diferentes asignaturas

calificaciones <- matrix(
  c(4.5, 3.2, 5.0,
    3.8, 4.0, 4.7),
  nrow = 2,
  byrow = TRUE
)
colnames(calificaciones) <- c("Matemáticas", "Estadística", "Programación")
rownames(calificaciones) <- c("Juan", "Laura")

calificaciones_df <- as.data.frame(calificaciones)
calificaciones_df
##       Matemáticas Estadística Programación
## Juan          4.5         3.2          5.0
## Laura         3.8         4.0          4.7

Ejemplo 5: Registro de temperatura y humedad en diferentes ciudades

datos_matriz <- matrix(
  c(25, 30, 28,
    65, 70, 60),
  nrow = 2,
  byrow = TRUE
)
colnames(datos_matriz) <- c("Bogotá", "Medellín", "Cali")
rownames(datos_matriz) <- c("Temperatura", "Humedad")

datos_df <- as.data.frame(datos_matriz)
datos_df
##             Bogotá Medellín Cali
## Temperatura     25       30   28
## Humedad         65       70   60

Ejemplo 6: Resultados de pruebas A/B en métricas clave

ab_matrix <- matrix(
  c(0.15, 0.18,
    120, 140,
    0.4, 0.35),
  nrow = 3,
  byrow = TRUE
)

rownames(ab_matrix) <- c("Conversión", "Tiempo", "Rebote")
colnames(ab_matrix) <- c("Grupo A", "Grupo B")

ab_df <- as.data.frame(ab_matrix)
ab_df
##            Grupo A Grupo B
## Conversión    0.15    0.18
## Tiempo      120.00  140.00
## Rebote        0.40    0.35

Ejemplo 7: Matriz de correlación entre variables numéricas

cor_matrix <- matrix(
  c(1, 0.6, 0.4,
    0.6, 1, 0.7,
    0.4, 0.7, 1),
  nrow = 3
)

rownames(cor_matrix) <- colnames(cor_matrix) <- c("Edad", "Ingreso", "Satisfacción")

cor_df <- as.data.frame(cor_matrix)
cor_df
##              Edad Ingreso Satisfacción
## Edad          1.0     0.6          0.4
## Ingreso       0.6     1.0          0.7
## Satisfacción  0.4     0.7          1.0

Ejemplo 8: Matriz de confusión para clasificación binaria

confusion_matrix <- matrix(
  c(50, 10,
    5,  35),
  nrow = 2,
  byrow = TRUE
)

rownames(confusion_matrix) <- c("Clase Verdadera: Positiva", "Clase Verdadera: Negativa")
colnames(confusion_matrix) <- c("Predicción: Positiva", "Predicción: Negativa")

confusion_df <- as.data.frame(confusion_matrix)
confusion_df
##                           Predicción: Positiva Predicción: Negativa
## Clase Verdadera: Positiva                   50                   10
## Clase Verdadera: Negativa                    5                   35

Conclusión

El data.frame() es una estructura esencial para manejar conjuntos de datos en R. Aprender a construirlos a partir de vectores o matrices permite preparar bases para un análisis eficaz y profesional, lo cual es el primer paso en cualquier proyecto de ciencia de datos.