Mostrar / imprimir todas las filas de un tibble (tbl_df)


192

tibble(anteriormente tbl_df) es una versión de una trama de datos creada por el dplyrpaquete de manipulación de trama de datos en R. Evita salidas de tabla largas cuando se llama accidentalmente a la trama de datos.

Una vez que un marco de datos ha sido envuelto por tibble/ tbl_df, ¿hay un comando para ver todo el marco de datos (todas las filas y columnas del marco de datos)?

Si lo uso df[1:100,], veré las 100 filas, pero si lo uso df[1:101,], solo mostrará las primeras 10 filas. Me gustaría mostrar fácilmente todas las filas para desplazarme rápidamente por ellas.

¿Existe un comando dplyr para contrarrestar esto o una forma de desenvolver el marco de datos?


44
Viewno ha cambiado con los "tbl_df"objetos.
G. Grothendieck

10
@ G.Grothendieck La visualización es diferente a la impresión.
Meg

Respuestas:


229

También podrías usar

print(tbl_df(df), n=40)

o con la ayuda del operador de tubería

df %>% tbl_df %>% print(n=40)

Para imprimir todas las filas, especifique tbl_df %>% print(n = Inf)


28
si quiere no quiere preocuparse por el valor de ny ya está entrando, puede usardf %>% tbl_df %>% print(n = nrow(.))
ClaytonJY

18
Extendiendo la respuesta de @ BLT, puede configurar n = Infpara imprimir todas las filas.
marinero

10
print(con un tibble) también tiene las opciones width = y n_extra = para controlar cuántas columnas se imprimen, ya sea directa o indirectamente.
Zhe Zhang

3
@ClaytonJY También he encontrado tbl_df %>% print(n = Inf)que funciona para esto.
Dannid el

¿Alguien sabe por qué print(n = ...)activa la notación científica en la pantalla tibble?
Agile Bean

88

Puedes usar as.data.frameo print.data.frame.

Si desea que esto sea el predeterminado, puede cambiar el valor de la dplyr.print_maxopción.

options(dplyr.print_max = 1e9)

66

La viñeta tibble tiene una forma actualizada de cambiar su comportamiento de impresión predeterminado:

Puede controlar la apariencia predeterminada con opciones:

options(tibble.print_max = n, tibble.print_min = m): si hay más de n filas, imprima solo las primeras m filas. Use options(tibble.print_max = Inf)para mostrar siempre todas las filas.

options(tibble.width = Inf) siempre imprimirá todas las columnas, independientemente del ancho de la pantalla.

ejemplos

Esto siempre imprimirá todas las filas:

options(tibble.print_max = Inf)

En realidad, esto no limitará la impresión a 50 líneas:

options(tibble.print_max = 50)

Pero esto restringirá la impresión a 50 líneas:

options(tibble.print_max = 50, tibble.print_min = 50)

1
Esto cambiará el comportamiento predeterminado para todos los tibbles. Estaba buscando una manera de anular la restricción predeterminada. print(n=100)Parece hacer lo que quiero. (Las tablas de resumen de count(), por ejemplo, deberían mostrarse en su totalidad, mientras que quiero que mis tablas de datos se
trunquen

2
@dannid parece que quieres la respuesta aceptada, entonces.
BLT

5

Como se detalla en la documentación de bookdown , también puede usar una tabla paginada

mtcars %>% tbl_df %>% rmarkdown::paged_table()

Esto paginará los datos y permitirá explorar todas las filas y columnas (a menos que esté configurado para limitar las filas). Ejemplo:

ingrese la descripción de la imagen aquí


1
Como se describe en esa documentación: si la tabla paginada es generada por un fragmento de código en un R Notebook, puede agregar el parámetro rows.print=[n]a las opciones de fragmento para controlar el número de filas que se muestran por página.
Arthur Small

0

Prefiero convertir el tibble en data.frame. Muestra todo y ya está

df %>% data.frame 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.