Saltar al contenido principal
eLearner.app
Módulo 2 · Lección 1 de 23/10 en el curso~12 min
Lecciones del módulo (1/2)

Los Data Frames

A diferencia de las matrices, que solo pueden contener elementos de un solo tipo, los Data Frames representan la estructura de datos tabulares más utilizada en R para analizar datos reales.

Un Data Frame es una tabla en la que cada columna puede contener datos de un tipo diferente (ej. una columna numérica, una de texto y una lógica), pero todas las columnas deben tener la misma longitud.

Crear un Data Frame

Para crear un Data Frame se utiliza la función data.frame(), definiendo los nombres de las columnas y asignándoles vectores:

Code
# Creación de un data frame de ejemplo
students <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  grade = c(28, 24, 30),
  passed = c(TRUE, TRUE, TRUE)
)
print(students)

Acceder a Columnas y Filas

Existen diferentes formas de extraer y manipular los datos de un Data Frame:

  1. Uso del operador de dólar $: Permite extraer una sola columna en forma de vector.
    Code
    grades <- students$grade
    # grades será el vector c(28, 24, 30)
    
  2. Uso de los corchetes [fila, columna]: Similar a las matrices.
    Code
    # Primer estudiante (primera fila)
    first_student <- students[1, ]
    

Filtrar los Datos

Uno de los puntos fuertes de R es la capacidad de filtrar los registros basándose en condiciones lógicas:

Code
# Seleccionamos solo los estudiantes con nota superior a 25
good_students <- students[students$grade > 25, ]
print(good_students)

Dimensiones y Modificación de Data Frames

Para conocer las dimensiones de un Data Frame (el número de filas y de columnas), podemos usar la función dim():

Code
# Devuelve un vector con dos elementos: c(filas, columnas)
dimensions <- dim(students)

También podemos agregar nuevas columnas o actualizar las existentes usando directamente el operador $:

Code
# Agrega una columna con las notas aumentadas en 2 puntos
students$bonus_grade <- students$grade + 2

Pruébalo tú

Ejercicio#r.m2.l1.e1
Intentos: 0Cargando...

Crea un Data Frame llamado students que contenga dos columnas: name (con los valores 'Alice' y 'Bob') y grade (con los valores 28 y 24).

Cargando editor...
Mostrar pista

Usa la función data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))

Solución disponible después de 3 intentos

Ejercicio#r.m2.l1.e2
Intentos: 0Cargando...

Dado el Data Frame students, extrae la colonna grade usando el operador $ y guárdala en la variable grades_vector.

Cargando editor...
Mostrar pista

Usa el operador $: grades_vector <- students$grade

Solución disponible después de 3 intentos

Ejercicio#r.m2.l1.e3
Intentos: 0Cargando...

Filtra el Data Frame students para incluir solo a los estudiantes con grade mayor o igual a 26, guardando el resultado en good_students.

Cargando editor...
Mostrar pista

Usa students[students$grade >= 26, ] sin olvidar la coma para seleccionar todas las columnas.

Solución disponible después de 3 intentos

Ejercicio#r.m2.l1.e4
Intentos: 0Cargando...

Dado el data frame df, obtén sus dimensiones usando la función dim() y guárdalas en la variable df_dim.

Cargando editor...
Mostrar pista

Usa la función dim(): df_dim <- dim(df)

Solución disponible después de 3 intentos

Ejercicio#r.m2.l1.e5
Intentos: 0Cargando...

Dado el data frame inventory, agrega una nueva columna llamada total_value calculada como el producto de las columnas price y quantity.

Cargando editor...
Mostrar pista

Usa: inventory$total_value <- inventory$price * inventory$quantity

Solución disponible después de 3 intentos