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:
# 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:
- Uso del operador de dólar
$: Permite extraer una sola columna en forma de vector.Codegrades <- students$grade # grades será el vector c(28, 24, 30) - 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:
# 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():
# 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 $:
# Agrega una columna con las notas aumentadas en 2 puntos
students$bonus_grade <- students$grade + 2
Pruébalo tú
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).
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
Dado el Data Frame students, extrae la colonna grade usando el operador $ y guárdala en la variable grades_vector.
Mostrar pista
Usa el operador $: grades_vector <- students$grade
Solución disponible después de 3 intentos
Filtra el Data Frame students para incluir solo a los estudiantes con grade mayor o igual a 26, guardando el resultado en good_students.
Mostrar pista
Usa students[students$grade >= 26, ] sin olvidar la coma para seleccionar todas las columnas.
Solución disponible después de 3 intentos
Dado el data frame df, obtén sus dimensiones usando la función dim() y guárdalas en la variable df_dim.
Mostrar pista
Usa la función dim(): df_dim <- dim(df)
Solución disponible después de 3 intentos
Dado el data frame inventory, agrega una nueva columna llamada total_value calculada como el producto de las columnas price y quantity.
Mostrar pista
Usa: inventory$total_value <- inventory$price * inventory$quantity
Solución disponible después de 3 intentos