Alle Zeilen eines Tibbles anzeigen / drucken (tbl_df)

192

tibble(zuvor tbl_df) ist eine Version eines Datenrahmens, der vom dplyrDatenrahmen-Manipulationspaket in R erstellt wurde. Sie verhindert lange Tabellenausgaben, wenn der Datenrahmen versehentlich aufgerufen wird.

Gibt es nach dem Umschließen eines Datenrahmens mit tibble/ tbl_dfeinen Befehl zum Anzeigen des gesamten Datenrahmens (aller Zeilen und Spalten des Datenrahmens)?

Wenn ich verwende df[1:100,], werden alle 100 Zeilen df[1:101,]angezeigt. Wenn ich jedoch verwende , werden nur die ersten 10 Zeilen angezeigt. Ich möchte einfach alle Zeilen anzeigen, um schnell durch sie zu scrollen.

Gibt es entweder einen dplyr-Befehl, um dem entgegenzuwirken, oder eine Möglichkeit, den Datenrahmen zu entpacken?

Zhe Zhang
quelle
4
Viewist bei "tbl_df"Objekten unverändert .
G. Grothendieck
10
@ G.Grothendieck Das Betrachten unterscheidet sich vom Drucken.
Meg

Antworten:

229

Sie könnten auch verwenden

print(tbl_df(df), n=40)

oder mit Hilfe des Rohrleiters

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

Um alle Zeilen zu drucken, geben Sie an tbl_df %>% print(n = Inf)

Tim
quelle
28
Wenn Sie sich keine Gedanken über den Wert von machen möchten nund bereits Rohrleitungen verwenden möchten , können Siedf %>% tbl_df %>% print(n = nrow(.))
ClaytonJY
18
Wenn Sie die Antwort von @ BLT erweitern, können Sie festlegen n = Inf, dass alle Zeilen gedruckt werden.
Seeschmied
10
print(mit einem tibble) hat auch die Optionen width = und n_extra = , um zu steuern, wie viele Spalten entweder direkt oder indirekt gedruckt werden.
Zhe Zhang
3
@ClaytonJY Ich habe auch festgestellt tbl_df %>% print(n = Inf), dass ich dafür arbeite.
Dannid
print(n = ...)Weiß jemand, warum die wissenschaftliche Notation in der Tibble-Anzeige aktiviert ist?
Agile Bean
87

Sie können as.data.frameoder verwenden print.data.frame.

Wenn dies die Standardeinstellung sein soll, können Sie den Wert der dplyr.print_maxOption ändern .

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

Die Tibble-Vignette verfügt über eine aktualisierte Methode zum Ändern des Standarddruckverhaltens:

Sie können das Standard-Erscheinungsbild mit folgenden Optionen steuern:

options(tibble.print_max = n, tibble.print_min = m): Wenn mehr als n Zeilen vorhanden sind, drucken Sie nur die ersten m Zeilen. Verwenden Sie options(tibble.print_max = Inf)diese Option, um immer alle Zeilen anzuzeigen.

options(tibble.width = Inf) druckt immer alle Spalten, unabhängig von der Breite des Bildschirms.

Beispiele

Dadurch werden immer alle Zeilen gedruckt:

options(tibble.print_max = Inf)

Dadurch wird der Druckvorgang nicht auf 50 Zeilen beschränkt:

options(tibble.print_max = 50)

Dadurch wird das Drucken jedoch auf 50 Zeilen beschränkt:

options(tibble.print_max = 50, tibble.print_min = 50)
BLT
quelle
1
Dadurch wird das Standardverhalten für alle Tibbles geändert. Ich suchte nach einer Möglichkeit, die Standardeinschränkung zu überschreiben. print(n=100)scheint zu tun was ich will. (Zusammenfassungstabellen von count()sollten zum Beispiel vollständig angezeigt werden, während ich möchte, dass meine Datentabellen abgeschnitten werden.)
Dannid
2
@dannid sieht so aus, als ob Sie die akzeptierte Antwort wollen.
BLT
5

Wie in der Buchungsdokumentation beschrieben , können Sie auch eine ausgelagerte Tabelle verwenden

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

Dadurch werden die Daten paginiert und alle Zeilen und Spalten können durchsucht werden (sofern sie nicht zum Verschließen der Zeilen konfiguriert sind). Beispiel:

Geben Sie hier die Bildbeschreibung ein

Holger Brandl
quelle
1
Wie in dieser Dokumentation beschrieben: Wenn die ausgelagerte Tabelle von einem Codeblock in einem R-Notizbuch generiert wird, können Sie den Parameter rows.print=[n]zu den Blockoptionen hinzufügen , um die Anzahl der pro Seite angezeigten Zeilen zu steuern.
Arthur Small
0

Ich ziehe es vor, das Tibble auf data.frame umzustellen. Es zeigt alles und du bist fertig

df %>% data.frame 
Lefty
quelle