Tampilkan / cetak semua baris tibble (tbl_df)

192

tibble(sebelumnya tbl_df) adalah versi bingkai data yang dibuat oleh dplyrpaket manipulasi bingkai data dalam R. Ini mencegah output tabel panjang ketika secara tidak sengaja memanggil bingkai data.

Setelah frame data dibungkus oleh tibble/ tbl_df, apakah ada perintah untuk melihat seluruh frame data (semua baris dan kolom dari frame data)?

Jika saya menggunakan df[1:100,], saya akan melihat semua 100 baris, tetapi jika saya gunakan df[1:101,], itu hanya akan menampilkan 10 baris pertama. Saya ingin dengan mudah menampilkan semua baris untuk menggulirnya dengan cepat.

Apakah ada perintah dplyr untuk mengatasi ini atau cara untuk membuka bingkai data?

Zhe Zhang
sumber
4
Viewtidak berubah dengan "tbl_df"objek.
G. Grothendieck
10
@ G.Grothendieck Melihat berbeda dari mencetak.
Meg

Jawaban:

229

Anda juga bisa menggunakannya

print(tbl_df(df), n=40)

atau dengan bantuan operator pipa

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

Untuk mencetak semua baris tentukan tbl_df %>% print(n = Inf)

Tim
sumber
28
Jika Anda ingin tidak ingin khawatir tentang nilai ndan Anda sudah pemipaan, Anda dapat menggunakandf %>% tbl_df %>% print(n = nrow(.))
ClaytonJY
18
Memperluas jawaban @ BLT, Anda dapat mengatur n = Infuntuk mencetak semua baris.
seasmith
10
print(dengan tibble) juga memiliki width = dan n_extra = opsi untuk mengontrol berapa banyak kolom yang dicetak, baik secara langsung maupun tidak langsung.
Zhe Zhang
3
@ClaytonJY Saya juga menemukan tbl_df %>% print(n = Inf)bekerja untuk ini.
Dannid
apakah ada yang tahu mengapa print(n = ...)menyalakan notasi ilmiah di layar tibble?
Agile Bean
88

Anda bisa menggunakan as.data.frameatau print.data.frame.

Jika Anda ingin ini menjadi default, Anda dapat mengubah nilai dplyr.print_maxopsi.

options(dplyr.print_max = 1e9)
Vincent Zoonekynd
sumber
66

The sketsa Tibble memiliki cara diperbarui untuk mengubah perilaku pencetakan default:

Anda dapat mengontrol tampilan default dengan opsi:

options(tibble.print_max = n, tibble.print_min = m): jika ada lebih dari n baris, cetak hanya baris m pertama. Gunakan options(tibble.print_max = Inf)untuk selalu menampilkan semua baris.

options(tibble.width = Inf) akan selalu mencetak semua kolom, terlepas dari lebar layar.

contoh

Ini akan selalu mencetak semua baris:

options(tibble.print_max = Inf)

Ini sebenarnya tidak akan membatasi pencetakan hingga 50 baris:

options(tibble.print_max = 50)

Tetapi ini akan membatasi pencetakan hingga 50 baris:

options(tibble.print_max = 50, tibble.print_min = 50)
BLT
sumber
1
Ini akan mengubah perilaku default untuk semua tibble. Saya sedang mencari cara untuk menimpa batasan default. print(n=100)tampaknya melakukan apa yang saya inginkan. (Tabel ringkasan dari count(), misalnya, harus ditampilkan secara keseluruhan, sedangkan saya ingin tabel data saya terpotong.)
Dannid
2
@tidak akan terlihat seperti Anda menginginkan jawaban yang diterima, kemudian.
BLT
5

Sebagaimana dirinci dalam dokumentasi bookdown , Anda juga bisa menggunakan tabel halaman

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

Ini akan membuat paginasi data dan memungkinkan untuk menelusuri semua baris dan kolom (kecuali dikonfigurasi untuk membatasi baris). Contoh:

masukkan deskripsi gambar di sini

Holger Brandl
sumber
1
Seperti dijelaskan dalam dokumentasi itu: Jika tabel paged dihasilkan oleh potongan kode dalam R Notebook, Anda dapat menambahkan parameter rows.print=[n]ke opsi potongan untuk mengontrol jumlah baris yang ditampilkan per halaman.
Arthur Small
0

Saya lebih suka mengubah tibble ke data.frame. Ini menunjukkan segalanya dan Anda selesai

df %>% data.frame 
Orang kidal
sumber