Отобразить / напечатать все строки таблицы (tbl_df)


192

tibble(ранее tbl_df) является версией фрейма данных, созданного dplyrпакетом манипулирования фреймами данных в R. Он предотвращает вывод длинных таблиц при случайном вызове фрейма данных.

После того, как фрейм данных был обернут в tibble/ tbl_df, есть ли команда для просмотра всего фрейма данных (все строки и столбцы фрейма данных)?

Если я использую df[1:100,], я буду видеть все 100 строк, но если я буду использовать df[1:101,], он будет отображать только первые 10 строк. Я хотел бы легко отобразить все строки, чтобы быстро прокрутить их.

Есть ли команда dplyr для противодействия этому или способ развернуть фрейм данных?


4
Viewнеизменен с "tbl_df"объектами.
Г. Гротендик

10
@ G.Grothendieck Просмотр отличается от печати.
Мег

Ответы:


229

Вы также можете использовать

print(tbl_df(df), n=40)

или с помощью оператора трубы

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

Для печати всех строк укажите tbl_df %>% print(n = Inf)


28
если вы не хотите беспокоиться о стоимости nи вы уже работаете, вы можете использоватьdf %>% tbl_df %>% print(n = nrow(.))
ClaytonJY

18
Расширяя ответ @ BLT, вы можете настроить n = Infпечать всех строк.
Карьера

10
print(с пометкой) также имеет параметры width = и n_extra = для управления количеством печатаемых столбцов, прямо или косвенно.
Чжэ Чжан

3
@ClaytonJY Я также нашел tbl_df %>% print(n = Inf)работу для этого.
Даннид

print(n = ...)Кто- нибудь знает, почему включается научная запись на табло?
Agile Bean

88

Вы можете использовать as.data.frameили print.data.frame.

Если вы хотите, чтобы это было по умолчанию, вы можете изменить значение dplyr.print_maxопции.

options(dplyr.print_max = 1e9)

66

Тиббла виньетка имеет обновленный способ изменить свое поведение печати по умолчанию:

Вы можете контролировать внешний вид по умолчанию с помощью параметров:

options(tibble.print_max = n, tibble.print_min = m): если строк больше, чем n, выведите только первые m строк. Используйте, options(tibble.print_max = Inf)чтобы всегда показывать все строки.

options(tibble.width = Inf) всегда будет печатать все столбцы, независимо от ширины экрана.

Примеры

Это всегда будет печатать все строки:

options(tibble.print_max = Inf)

Это на самом деле не будет ограничивать печать до 50 строк:

options(tibble.print_max = 50)

Но это ограничит печать до 50 строк:

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

1
Это изменит поведение по умолчанию для всех элементов. Я искал способ переопределить ограничение по умолчанию. print(n=100)Похоже, делать то, что я хочу. (Сводные таблицы count(), например, должны отображаться полностью, в то время как я хочу, чтобы мои таблицы данных были усечены.)
Даннид,

2
@dannid выглядит так, как будто вы хотите получить принятый ответ.
BLT

5

Как подробно описано в документации по уценке , вы также можете использовать таблицу с постраничной рассылкой.

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

Это разбивает на страницы данные и позволяет просматривать все строки и столбцы (если не настроено ограничение строк). Пример:

введите описание изображения здесь


1
Как описано в этой документации: если перемещаемая таблица генерируется фрагментом кода в блокноте R, вы можете добавить параметр в параметры rows.print=[n]фрагмента, чтобы контролировать количество строк, отображаемых на странице.
Артур Смолл

0

Я предпочитаю превратить тибл в data.frame. Это показывает все, и вы сделали

df %>% data.frame 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.