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:
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)