Manipulación de Filas
Ahora aprendamos cómo agregar o eliminar filas. Consideremos dos métodos. El primero es más aplicable para agregar una sola fila.
El método consiste en asignar una nueva fila al índice del número de filas más uno de un data frame existente (para obtener el número de filas, utilice la función nrow()
). Recuerde que no se pueden almacenar datos de diferentes tipos utilizando vectores. Por lo tanto, debe asignar un data frame o una lista con los nuevos valores. No se preocupe si no conoce las listas. En palabras simples, es como un vector que permite almacenar datos de diferentes tipos. Veamos un ejemplo. El data frame inicial se muestra a continuación.
name age gender Job
1 Alex 24 M Teacher
2 Julia 43 F Doctor
3 Finn 32 M Manager
123456789# Creating a data frame name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Adding new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test # Output data frame
Nota
De forma predeterminada, al modificar un data frame, cualquier nuevo valor de cadena en una lista se convierte automáticamente en un factor. Para evitar esta conversión automática, se debe especificar el parámetro
stringsAsFactors = FALSE
durante la creación del data frame. Este enfoque debe aplicarse siempre que se modifiquen filas en el data frame.
Esto se puede hacer utilizando un nuevo data frame y la función merge
. Este método requiere que los nombres de las columnas sean iguales y que se establezcan los parámetros necesarios (all = T
).
1234567891011name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') # Data of new person as data frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Set column names merge(test, new_person, all = T) # Merge data frames
Como se puede observar, las salidas son idénticas. Para eliminar filas de un data frame, utilice corchetes y coloque un signo menos a la izquierda del índice de la fila. Por ejemplo, test[-1,]
eliminará la primera fila (igual que para las matrices).
Swipe to start coding
Continuemos trabajando con el data frame store
.
- Eliminar la fila
'Dining chair'
(índice 4) del data framestore
. Reasignar el resultado a la variablestore
. - Agregar una nueva fila al data frame
store
utilizando el enfoque delist
con los siguientes datos.
Item | Price | Sold |
---|---|---|
Kitchen Cabinet | 70 | 67 |
Mostrar el data frame modificado.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain how to delete multiple rows at once?
What happens if I try to add a row with missing values?
Can you show how to add a row using the rbind() function?
Awesome!
Completion rate improved to 5.56
Manipulación de Filas
Desliza para mostrar el menú
Ahora aprendamos cómo agregar o eliminar filas. Consideremos dos métodos. El primero es más aplicable para agregar una sola fila.
El método consiste en asignar una nueva fila al índice del número de filas más uno de un data frame existente (para obtener el número de filas, utilice la función nrow()
). Recuerde que no se pueden almacenar datos de diferentes tipos utilizando vectores. Por lo tanto, debe asignar un data frame o una lista con los nuevos valores. No se preocupe si no conoce las listas. En palabras simples, es como un vector que permite almacenar datos de diferentes tipos. Veamos un ejemplo. El data frame inicial se muestra a continuación.
name age gender Job
1 Alex 24 M Teacher
2 Julia 43 F Doctor
3 Finn 32 M Manager
123456789# Creating a data frame name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) # Adding new row test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') test # Output data frame
Nota
De forma predeterminada, al modificar un data frame, cualquier nuevo valor de cadena en una lista se convierte automáticamente en un factor. Para evitar esta conversión automática, se debe especificar el parámetro
stringsAsFactors = FALSE
durante la creación del data frame. Este enfoque debe aplicarse siempre que se modifiquen filas en el data frame.
Esto se puede hacer utilizando un nuevo data frame y la función merge
. Este método requiere que los nombres de las columnas sean iguales y que se establezcan los parámetros necesarios (all = T
).
1234567891011name <- c("Alex", "Julia", "Finn") age <- c(24, 43, 32) gender <- c("M", "F", "M") job <- c('Teacher', 'Doctor', 'Manager') test <- data.frame(name, age, gender, job, stringsAsFactors = FALSE) test[nrow(test) + 1, ] <- list('Angela', 35, 'F', 'Accountant') # Data of new person as data frame new_person <- data.frame('Angela', 35, 'F', 'Accountant') colnames(new_person) <- colnames(test) # Set column names merge(test, new_person, all = T) # Merge data frames
Como se puede observar, las salidas son idénticas. Para eliminar filas de un data frame, utilice corchetes y coloque un signo menos a la izquierda del índice de la fila. Por ejemplo, test[-1,]
eliminará la primera fila (igual que para las matrices).
Swipe to start coding
Continuemos trabajando con el data frame store
.
- Eliminar la fila
'Dining chair'
(índice 4) del data framestore
. Reasignar el resultado a la variablestore
. - Agregar una nueva fila al data frame
store
utilizando el enfoque delist
con los siguientes datos.
Item | Price | Sold |
---|---|---|
Kitchen Cabinet | 70 | 67 |
Mostrar el data frame modificado.
Solución
¡Gracias por tus comentarios!
single