Отобразить / напечатать все строки таблицы (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)
BLT
источник
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 
Левша
источник