En este artículo, discutiremos cómo dividir el marco de datos en el lenguaje de programación R.
Un subconjunto se puede dividir tanto de forma continua como aleatoria en función de filas y columnas. Se puede hacer referencia a las filas y columnas del marco de datos utilizando los índices y los nombres. Se pueden hacer referencia a varias filas y columnas utilizando el método c() en la base R.
Dividir marco de datos por fila
División del marco de datos por índices de fila
Se puede hacer referencia a las celdas del marco de datos utilizando los nombres e índices de fila y columna.
Sintaxis:
data-frame[start-row-num:end-row-num,]
Los números de fila se conservan en el marco de datos de salida final.
Ejemplo: dividir el marco de datos por fila
R
# create first dataframe data_frame1<-data.frame(col1=c(rep('Grp1',2), rep('Grp2',2), rep('Grp3',2)), col2=rep(1:3,2), col3=rep(1:2,3) ) print("Original DataFrame") print(data_frame1) # extracting first four rows data_frame_mod <- data_frame1[1:4,] print("Modified DataFrame") print(data_frame_mod)
Producción:
[1] "Original DataFrame" col1 col2 col3 1 Grp1 1 1 2 Grp1 2 2 3 Grp2 3 1 4 Grp2 1 2 5 Grp3 2 1 6 Grp3 3 2 [1] "Modified DataFrame" col1 col2 col3 1 Grp1 1 1 2 Grp1 2 2 3 Grp2 3 1 4 Grp2 1 2
Ejemplo: dividir el marco de datos por fila
R
# create first dataframe data_frame1<-data.frame(col1=c(rep('Grp1',2), rep('Grp2',2), rep('Grp3',2)), col2=rep(1:3,2), col3=rep(1:2,3) ) print("Original DataFrame") print(data_frame1) # extracting first four rows data_frame_mod <- data_frame1[6,] print("Modified DataFrame") print(data_frame_mod)
Producción:
[1] "Original DataFrame" col1 col2 col3 1 Grp1 1 1 2 Grp1 2 2 3 Grp2 3 1 4 Grp2 1 2 5 Grp3 2 1 6 Grp3 3 2 [1] "Modified DataFrame" col1 col2 col3 6 Grp3 3 2
Dividir filas de marcos de datos aleatoriamente
Las filas del marco de datos también se pueden generar aleatoriamente mediante el método set.seed(). Genera una muestra aleatoria, que luego se introduce en cualquier función generadora aleatoria ficticia arbitraria. Luego, las filas se pueden extraer comparándolas con una función.
Ejemplo: dividir el marco de datos por filas al azar
R
# create first dataframe data_frame1<-data.frame(col1=c(rep('Grp1',2), rep('Grp2',2), rep('Grp3',2)), col2=rep(1:3,2), col3=rep(1:2,3), col4 = letters[1:6] ) print("Original DataFrame") print(data_frame1) # extracting last two columns set.seed(99999) rows <- nrow(data_frame1) rand <- rbinom(rows, 2, 0.5) data_frame_mod <- data_frame1[rand == 0, ] print("Modified DataFrame") print(data_frame_mod)
Producción:
[1] "Original DataFrame" col1 col2 col3 col4 1 Grp1 1 1 a 2 Grp1 2 2 b 3 Grp2 3 1 c 4 Grp2 1 2 d 5 Grp3 2 1 e 6 Grp3 3 2 f [1] "Modified DataFrame" col1 col2 col3 col4 5 Grp3 2 1 e 6 Grp3 3 2 f
Dividir dataframe por columna
Dividir el marco de datos por nombres de columna
También se puede hacer referencia al marco de datos utilizando los nombres de las columnas. Se pueden especificar varios nombres de columna utilizando el método c() que contiene nombres de columna como strings. Los nombres de las columnas pueden ser de naturaleza contigua o aleatoria.
Sintaxis:
data-frame[,c(col1, col2,...)]
Ejemplo: dividir el marco de datos por nombres de columna
R
# create first dataframe data_frame1<-data.frame(col1=c(rep('Grp1',2), rep('Grp2',2), rep('Grp3',2)), col2=rep(1:3,2), col3=rep(1:2,3), col4 = letters[1:6] ) print("Original DataFrame") print(data_frame1) # extracting sixth row data_frame_mod <- data_frame1[,c("col2","col4")] print("Modified DataFrame") print(data_frame_mod)
Producción:
[1] "Original DataFrame" col1 col2 col3 col4 1 Grp1 1 1 a 2 Grp1 2 2 b 3 Grp2 3 1 c 4 Grp2 1 2 d 5 Grp3 2 1 e 6 Grp3 3 2 f [1] "Modified DataFrame" col2 col4 1 1 a 2 2 b 3 3 c 4 1 d 5 2 e 6 3 f
Dividir marco de datos por índices de columna
También se puede hacer referencia al marco de datos utilizando los índices de columna. Se pueden extraer columnas individuales y múltiples del marco de datos especificando la posición de la columna.
Sintaxis:
data-frame[,start-col-num:end-col-num]
Ejemplo: marco de datos dividido por índices de columna
R
# create first dataframe data_frame1<-data.frame(col1=c(rep('Grp1',2), rep('Grp2',2), rep('Grp3',2)), col2=rep(1:3,2), col3=rep(1:2,3), col4 = letters[1:6] ) print("Original DataFrame") print(data_frame1) # extracting last two columns data_frame_mod <- data_frame1[,c(3:4)] print("Modified DataFrame") print(data_frame_mod)
Producción:
[1] "Original DataFrame" col1 col2 col3 col4 1 Grp1 1 1 a 2 Grp1 2 2 b 3 Grp2 3 1 c 4 Grp2 1 2 d 5 Grp3 2 1 e 6 Grp3 3 2 f [1] "Modified DataFrame" col3 col4 1 1 a 2 2 b 3 1 c 4 2 d 5 1 e 6 2 f
Publicación traducida automáticamente
Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA