En este artículo, discutiremos cómo crear un marco de datos fila por fila en el lenguaje de programación R.
Método 1: uso de métodos de indexación y bucle for
Se puede crear un marco de datos vacío en lenguaje R usando el método data.frame() en R. Para mayor claridad, los tipos de datos de las columnas se pueden definir durante la declaración. Cada fila del marco de datos es un vector que consta de valores que pertenecen a diferentes columnas. La i -ésima fila en el marco de datos se puede asignar a este vector.
Sintaxis:
trama de datos[ i, ] <- vec
Las filas se agregan al final del marco de datos. La adición de filas también se puede realizar en un bucle for, con iteraciones de bucle equivalentes al número de filas que se van a agregar. La longitud del vector adjunto debe ser equivalente al número de columnas en el marco de datos.
Ejemplo:
R
# declaring an empty data frame data_frame = data.frame( col1 = numeric(), col2 = character(),stringsAsFactors = FALSE) print ("Original dataframe") print (data_frame) # appending rows to the data frame for(i in 1:3) { # creating a vector to append to # data frame vec <- c(i+1, LETTERS[i]) # assigning this vector to ith row data_frame[i, ] <- vec } print ("Modified dataframe") print (data_frame)
Producción
[1] "Original dataframe" [1] col1 col2 <0 rows> (or 0-length row.names) [1] "Modified dataframe" col1 col2 1 2 A 2 3 B 3 4 C
Método 2: Uso de la inserción manual
Las filas en un marco de datos vacío también se pueden insertar utilizando la referencia de índice de fila. Después de cada iteración, se agrega una nueva fila al marco de datos. Se realizan modificaciones en el marco de datos original.
Ejemplo:
R
# declaring an empty data frame data_frame = data.frame(col1 = numeric(), col2 = character(), stringsAsFactors = FALSE) print ("Original dataframe") print (data_frame) # appending rows to the data frame data_frame[1,] <- c(1,"firstrow") print ("Dataframe : Iteration 1") print (data_frame) # appending rows to the data frame data_frame[2,] <- c(2,"secondrow") print ("Dataframe : Iteration 2") print (data_frame) data_frame[3,] <- c(3,"thirdrow") print ("Dataframe : Iteration 3") print (data_frame)
Producción
[1] "Original dataframe" [1] col1 col2 <0 rows> (or 0-length row.names) [1] "Dataframe : Iteration 1" col1 col2 1 1 firstrow [1] "Dataframe : Iteration 2" col1 col2 1 1 firstrow 2 2 secondrow [1] "Dataframe : Iteration 3" col1 col2 1 1 firstrow 2 2 secondrow 3 3 thirdrow
El número actual de filas del marco de datos se puede capturar mediante el método nrow(dataframe). Se puede agregar una fila individual al marco de datos en el índice nrow(df)+1.
Sintaxis:
df[ nrow(df)+1, ] <- vec
Ejemplo:
R
# declaring an empty data frame data_frame = data.frame(col1 = c(2:3), col2 = letters[1:2], stringsAsFactors = FALSE) print ("Original dataframe") print (data_frame) # appending rows at the end vec <- c(8,"n") data_frame[nrow(data_frame)+1,] <- vec print ("Modified dataframe") print (data_frame)
Producción
[1] "Original dataframe" col1 col2 1 2 a 2 3 b [1] "Modified dataframe" col1 col2 1 2 a 2 3 b 3 8 n
Método 3: Usar el método rbind()
El método rbind() se usa para vincular vectores u objetos de marcos de datos para formar un objeto más grande. Inicialmente, podemos crear un marco de datos vacío y luego definir una nueva fila usando un vector y vincular la fila declarada al marco de datos usando el método rbind(). La nueva fila se añade al final. Los tipos de datos de la fila deben ser compatibles con los tipos de datos declarados para el marco de datos original. Esto se puede encerrar dentro de un bucle para vincular filas durante cada iteración del bucle.
Sintaxis:
enlazar(df , vec)
Ejemplo:
R
# declaring an empty data frame data_frame = data.frame(col1 = numeric(), col2 = character(), stringsAsFactors = FALSE) print ("Original dataframe") print (data_frame) # appending rows at the end vec <- c(8,"n") # binding row at the end of the data frame data_frame <- rbind(data_frame,vec,stringsAsFactors = FALSE) print ("Modified dataframe") print (data_frame)
Producción
[1] "Original dataframe" [1] col1 col2 <0 rows> (or 0-length row.names) [1] "Modified dataframe" X.8. X.n. 1 8 n
También se puede crear un marco de datos fila por fila, utilizando operaciones repetidas de rbind() en el marco de datos en el bucle for, con un número de iteraciones equivalente al número de filas a insertar.
Ejemplo:
R
# declaring an empty data frame data_frame = data.frame(col1 = numeric(), col2 = character(), stringsAsFactors = FALSE) print ("Original dataframe") print (data_frame) # appending rows at the end for(i in 1:3) { # creating a vector to append # to data frame vec <- c(i, LETTERS[i]) # assigning this vector to ith row data_frame <- rbind(data_frame,vec,stringsAsFactors=FALSE) } print ("Modified dataframe") print (data_frame)
Producción
[1] "Original dataframe" [1] col1 col2 <0 rows> (or 0-length row.names) [1] "Modified dataframe" X.1. X.A. 1 1 A 2 2 B 3 3 C
Publicación traducida automáticamente
Artículo escrito por codersgram9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA