¿Cómo obtener y extraer las primeras n filas de un R DataFrame?

En este tutorial de análisis de datos, le mostraremos cómo extraer y mostrar las primeras (o primeras N) filas de su R DataFrame.

Crear un marco de datos de ejemplo

#create R vectors x <- c(seq (11,15)) y <- c (x ^ 2) z <- c (ppois (x,8))  #Initialize DataFrame test <- data.frame (x = x, y = y, z = z)

Aquí está nuestra trama de datos:

xyz
1 11 121 0.8880760
2 12 144 0.9362028
3 13 169 0.9658193
4 14 196 0.9827430
5 15 225 0.9917690

Obtenga las primeras n filas en R

Uso de notaciones de corchetes

n=1      # adjust as needed test[n,]

Recuerde: puede crear subconjuntos de un R DataFrame usando la siguiente sintaxis: your_df[rows, columns]. Si tiene experiencia en Python y pandas, eso podría ser confuso. Asegúrese de agregar una coma después de la posición de la fila; de lo contrario, seleccionará columnas R DataFrame, no filas.

Uso de la función de cabeza

n=1      # adjust as needed head(test,n)

Ambos métodos generarán el siguiente resultado:

x   y        z 1 11 121 0.888076

Usando dplyr para obtener las primeras n filas

Ahora seguiremos adelante y explicaremos cómo usar la función dplyr slice para crear subconjuntos de nuestras filas de DataFrame. En este ejemplo, dividiremos las dos primeras filas de nuestros datos.

library(dplyr) n=2       # adjust as needed test %>% slice(seq(n))

Alternativamente:

library(dplyr) n=2 first_rows  = slice(test,seq(n)) print (first_rows)

Ambos representarán este DataFrame:

 x   y         z 1 11 121 0.8880760 2 12 144 0.9362028

Convertir la primera fila en un vector

Una vez extraído, podemos convertir fácilmente la primera fila de DataFrame en un vector.

n=1 test_vec <- as.numeric(head(test,n)) print (test_vec)

Esto generará un vector R:

[1]  11.000000 121.000000   0.888076

Obtener las N filas superiores según los criterios

Hasta ahora, usamos la posición de la fila para decidir qué filas extraer. Pero usando la función dplyr top_n podemos ordenar nuestro DataFrame y dividir las n filas principales de acuerdo con cualquiera de nuestras columnas de DataFrame:

library(dplyr) n=2 top_n(test,n,z)