Data.table: Diverse Verbesserungen an print.data.table

Erstellt am 6. Feb. 2016  ·  63Kommentare  ·  Quelle: Rdatatable/data.table

Aktuelle Aufgabenliste:

  • [x] 1. .Rd -Datei für print.data.table
  • [x] 2. Möglichkeit zum Deaktivieren von Zeilennummern [1) von [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) – Yike Lu; behandelt in [diesem](https://github.com/Rdatatable/data.table/commit/ac2180ef17b8a46245261349f05f5967318407cf) Commit, 12. Nov. 2013]
  • 3. Möglichkeit, Smart Table Wrapping auszuschalten [2) von #645/RF#1957 - Yike Lu]
  • [x] 4. Möglichkeit, alle Einträge [3) aus [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) zu drucken – Yike Lu; behandelt in [diesem](https://github.com/Rdatatable/data.table/commit/a82bfff820d77fbb7ba445e65972e059e036f5150) Commit, 14. Sep. 2012]
  • [ ] 5. Möglichkeit, by -Gruppierungen [4] von [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) abzugrenzen – Yike Lu]
  • [ ] 6. Abgrenzung der Tabellengrenze [Teil von 5) aus [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) - Yike Lu]
  • 7. Abgrenzung der Schlüsselsäulen [Teil von 5) von #645/RF#1957 - Yike Lu]
  • [x] 8. Fungible Option, ob Zeilennummern gedruckt werden [[#1097](https://github.com/Rdatatable/data.table/issues/1097) - @smcinerney]
  • [x] 9. Optionen, ob/welche Register von Spaltennamen gedruckt werden sollen [[#1482](https://github.com/Rdatatable/data.table/issues/1482) - [Oleg Bondar on SO](http: //stackoverflow.com/questions/34511495/how-to-disable-data-table-names-at-the-bottom)]
  • [x] 10. Option für dplyr -ähnliches Drucken [siehe unten - @MichaelChirico]
  • [ ] 11. Möglichkeiten für einen kompakten Blick auf Daten _a la_ dplyr tbl_df [#1497 - @nverno; #2608 - @vlulla]
  • [ ] 12. Option zur Angabe eines Trunkierungszeichens [#1374 - @jangorecki]
  • [x] 13. Handhabung von data.table mit leeren Namen [[#545/RF#5253](https://github.com/Rdatatable/data.table/issues/545) - @arunsrinivasan]
  • [x] 14. Druck von list /nicht-atomaren Spalten verbessern [siehe unten - @franknarf1 via [SO](https://stackoverflow.com/questions/47679701/r-data-table-why- sind-werte-der-verketteten-liste-verloren); auch #605; behandelt in #2562]
  • [x] 15. POSIXct -Spalten mit Zeitzonen sollten diese Informationen in der Druckausgabe enthalten [#2842 – @MichaelChirico]
  • [x] 16. Begrenzen Sie die Anzahl der gedruckten Spalten für sehr breite Tabellen (dh wo print.data.table max.print überschreiten würde)

Einige Notizen

3 (zur Klärung eingereicht)

So wie ich es verstehe, handelt es sich bei diesem Problem um eine Anforderung, um zu verhindern, dass die Konsolenausgabe umgebrochen wird (dh um zu erzwingen, dass alle Spalten parallel angezeigt werden, unabhängig davon, wie breit die Tabelle ist).

Wenn das der Fall ist, ist dies (AFAICT) unmöglich, da dies von RStudio/R selbst erledigt wird. Ich jedenfalls kenne keine Möglichkeit, dieses Verhalten zu ändern.

Wenn jemand eine Möglichkeit kennt, dies zu beeinflussen, oder wenn er denkt, dass ich falsch interpretiere, melden Sie sich bitte und wir können uns darum kümmern.

7

Hier gibt es aus meiner Sicht zwei Möglichkeiten. Eine besteht darin, alle Schlüsselspalten gleich zu behandeln; die andere besteht darin, sekundäre, tertiäre usw. Schlüssel getrennt zu behandeln.

Beispielausgabe:

set.seed(01394)
DT <- data.table(key1 = rep(c("A","B"), each = 4),
                 key2 = rep(c("a","b"), 4),
                 V1 = nrorm(8), key = c("key1","key2"))

# Only demarcate key columns
DT
#    | key1 | | key2 |         V1
#1: |    A | |    a |  0.5994579
#2: |    A | |    a | -1.0898775
#3: |    A | |    b | -0.2285326
#4: |    A | |    b | -1.7858472
#5: |    B | |    a | -0.6269875
#6: |    B | |    a | -0.6633084
#7: |    B | |    b |  1.0367084
#8: |    B | |    b |  0.7364276

# Separately "emboss" keys based on key order
DT
#    | key1 | || key2 ||         V1
#1: |    A | ||    a ||  0.5994579
#2: |    A | ||    a || -1.0898775
#3: |    A | ||    b || -0.2285326
#4: |    A | ||    b || -1.7858472
#5: |    B | ||    a || -0.6269875
#6: |    B | ||    a || -0.6633084
#7: |    B | ||    b ||  1.0367084
#8: |    B | ||    b ||  0.7364276

Und natürlich fügen Sie eine Option hinzu, um zu entscheiden, ob mit | oder einem anderen vom Benutzer gewählten Zeichen ( * , + usw.) abgegrenzt werden soll.

9 [FERTIG]

Einige Rückmeldungen von einer geschlossenen PR , die ein erster Versuch war, dies zu lösen:

Von Arun bezüglich bevorzugter Optionen:

col.names = c("auto", "top", "none")

"auto" : aktuelles Verhalten

"top" : nur oben, data.frame -ähnlich

"none" : keine Spaltennamen -- Zeilen ausschließen, in denen Spaltennamen gedruckt worden wären.

10 [FERTIG]

Es wäre schön, eine Option zum Drucken einer Zeile unter der Zeile der Spaltennamen zu haben, die den gespeicherten Typ jeder Spalte angibt, wie dies derzeit (soweit ich verstehe) die Standardeinstellung für die Ausgabe von dplyr -Operationen ist.

Beispiel von dplyr :

library(dplyr)
DF <- data.frame(n = numeric(1), c1 = complex(1), i = integer(1),
                 f = factor(1), D = as.Date("2016-02-06"), c2 = character(1),
                 stringsAsFactors = FALSE)
tbl_df(DF)
# Source: local data frame [1 x 6]
#
#       n     c1     i      f          D    c2
#   (dbl) (cmpl) (int) (fctr)     (date) (chr) # <- this row
#1     0   0+0i     0      1 2016-02-06      

Die derzeit beste Alternative ist sapply(DF, class) , aber es ist schön, eine Vorschau der Daten mit diesen zusätzlichen Informationen zu haben.

11

Dies scheint eng mit 3 verbunden zu sein. Der aktuelle Plan ist, dies als Alternative zu 3 zu implementieren, da es greifbarer/machbarer erscheint.

Über @nverno :

Wäre es für head.data.table nützlich, eine Option zu haben, um nur den Kopf der Spalten zu drucken, die der Bildschirmbreite entsprechen, und den Rest zusammenzufassen? Ich stellte mir so etwas wie die gedruckte Ausgabe vom Kopf eines tbl_df in dplyr vor. Ich denke, es ist schön für Tabellen mit vielen Spalten.

und das Leitbeispiel von Arun:

require(data.table)
dt = setDT(lapply(1:100, function(x) 1:3))
dt
dplyr::tbl_dt(dt)

12

Derzeit abgedeckt durch @jangoreckis PR #1448; Jan, unter der Annahme, dass #1529 zuerst zusammengeführt wird, könntest du die Manpage print.data.table für deine PR bearbeiten?

enhancement non-atomic column

Hilfreichster Kommentar

Als Erweiterung zu @fparages ' https://github.com/Rdatatable/data.table/pull/3500 (das sich auf das Zeitzonenanzeigeelement im OP dieser Ausgabe/dieses Threads bezieht), könnte es nett sein, auch das tz-Being zu unterstützen in der Klassenüberschrift gedruckt, <POSc:-07:00> oder <POSc:PDT> , und nicht in der Spalte (um horizontalen Platz zu sparen), zB wenn class=tz=TRUE.

Alle 63 Kommentare

Einfach brilliant!

Keine Ahnung von 3 und 5 (was sie bedeuten).
Ich denke, ein PR für 6 wäre schön (scheint nach dem, was Jan dort geschrieben hat, einfach zu sein). Vielleicht ist ?print.data.table der zeitraubende Teil? Glaubst du, du wärst dazu bereit, @MichaelChirico ?
Keine Ahnung was 7 bedeutet..
8 ist eine weitere großartige Idee. PR wäre toll!

Es wäre wirklich nett, wenn Github es erlauben würde, Aufgaben Projekten zuzuweisen, die nicht unbedingt Mitglieder sind :-(.

@arunsrinivasan soll ich versuchen, diese eine Ausgabe nach der anderen zu veröffentlichen? Oder auf einen Schlag? Ich habe 8 im Grunde erledigt, muss nur noch Tests hinzufügen.

Michael, separate PRs.

Sehr schön! Entschuldigen Sie die späte Antwort, aber Arun lieferte ein nettes Beispiel. Es ist nur eine nette Bequemlichkeit, wenn Sie Tabellen mit vielen Spalten interaktiv betrachten, damit Ihre Konsole nicht von einem riesigen Datendump verschlungen wird, wenn Sie einen Blick auf den Kopf werfen. Ich werde das andere schließen.

Es wäre auch schön zu drucken:

Primärschlüssel:
Sekundärindizes:,etc..

standardmäßig. Es ist auf jeden Fall informativ zu wissen, was die Schlüssel und Sekundärindizes sind.

Ich denke auch, dass dies eine bessere Ausgabe ist für:

print(DT, class=TRUE)
   <char> <int> <num>
     site  date     x
1:      A     1    10
2:      A     2    20
3:      A     3    30
4:      B     1    10
5:      B     2    20
6:      B     3    30

Es ist einfacher, die data.table zu kopieren/einzufügen, ohne dass die Klassen im Weg sind. Wenn wir das tun können, können wir standardmäßig Druckklassen aktivieren.

Die Gedanken?

@arunsrinivasan über das Drucken von Schlüsseln:

  • Ist das nicht der Sinn von tables() ? (obwohl TBH diese Funktion fast nie verwende) BTW tables , soweit es nützlich ist, könnte für ein Update gehen, um eine Spalte secondary_indices hinzuzufügen ...
  • Sie sehen das hier nicht unter Punkt 7 subsumiert? Sehen Sie diesen Chat (in der Mitte unterbrochen) s/w Frank und ich über Möglichkeiten zur Besetzung von # 7. Oder vielleicht möchten Sie Punkt # 7 durch Ihre Idee ersetzen. Was denkst du?

Über class :

Dies ist möglich, erfordert jedoch einen Schritt des Gerangels – im Grunde toprint <- rbind(rownames(toprint), toprint); rownames(toprint) <- abbs . Was in Ordnung ist, ich bin nur neugierig, warum Sie das einfachere Kopieren und Einfügen als klaren Vorteil ansehen? Ich bin mir nicht sicher, wie hoch die Kosten für das Einfügen von class -Informationen in die Copy-Paste-Ausgabe sind. Freue mich über Rückmeldungen.

Über class : -- Kopieren und Einfügen von SO, um beispielsweise Eingaben für fread() bereitzustellen. Ich finde es auch einfacher ohne die Trennung zwischen Spaltenname und Wert (nur daran gewöhnt, es zu sehen).

Zum Drucken von Schlüsseln:

  • Ja, aber es gibt es für _alle_ Tabellen, was an sich schon nützlich ist. Aber wenn ich nur die Schlüssel sehen möchte, die nach einer Join-Operation erhalten bleiben, möchte ich nicht unbedingt alle Schlüssel der Tabellen sehen.
  • Ich glaube nicht, dass Punkt 7 (Zeichnen von Linien) gut funktionieren würde ... da es nicht (AFAICT) die Reihenfolge der Schlüsselspalten angeben kann.

Primärschlüssel:

sagt deutlich, dass die erste Schlüsselspalte "a" ist, dann "b"..

Verdeutlicht das die Sache ein wenig?

Ich stimme zu, dass tables() ein Update gebrauchen könnte.

@arunsrinivasan OK, ich denke, da kann ich mitmachen. Kann Punkt 7 dann fallen lassen. Ich stimme zu, dass es schwierig sein würde, die Schlüsselreihenfolge auf einen Blick zu unterscheiden. Also wie wäre es mit:

  • Wenn eine Tabelle einen Schlüssel hat, sagen wir c("key1", "key2") , geben Sie Folgendes über der Ausgabe von print.data.table aus:
keys: key1, key2
  • Wenn kein Schlüssel vorhanden ist, drucken Sie:
keys: <unkeyed>
  • Der sekundäre Indexdruck ist optional, aber wenn aktiviert, wird er unter keys _a la_ liegen:
Secondary indices: key2.1, key2.2, ...
                   key3.1, key3.2, ...

Abschließend schlage ich vor, diese Ausgabe über message zu senden, um sie visuell von data.table selbst zu unterscheiden.

Mein Vorschlag wäre folgender:

  1. Wenn eines dieser Attribute nicht vorhanden ist, drucken Sie es nicht. Ich denke, die Leute werden schnell lernen, dass keine Schlüssel gesetzt sind (wenn es nicht angezeigt wird).
  2. Da es mehr als einen sekundären Index geben kann, schlage ich folgendes Format vor:

Schlüssel:(nur einer)
Sekundärindizes:,,, ...
Wenn es mehr als 'x' (zunächst 5?) Indizes gibt, verwenden Sie ein "...". Sie können jederzeit mit key2() darauf zugreifen.

Es macht mir nichts aus, dass "<>" durch "" ersetzt wird, wenn das ästhetisch ansprechender wäre ... z. B. "col1, col2", "col1" usw.

Letzter Vorschlag: Scheint nett zu sein, aber ich frage mich, ob es Probleme mit Knitr geben könnte, wenn Leute "Nachrichten" in Blöcken unterdrücken ... und die Ausgabe drucken?

Es wäre großartig, dies und die Voreinstellung class=TRUE bereits für v1.9.8 zu haben. Wir werden sehen.

Ein weiterer Gedanke:

Viele Leute verwenden den "numerischen" Typ, wenn ein ganzzahliger Typ ausreichen würde und wenn "integer64" besser in die Rechnung passen würde. Wie wäre es, wenn Sie diese Spalten beim Drucken irgendwie markieren?

anstatt, vielleicht >num< ?? Das wird es den Leuten ermöglichen, sich solcher Optimierungen auch bewusst zu sein.

ODER "!num!"? Es gibt eine Funktion isReallyReal die das überprüft. Aber das wird vielleicht zu zeitaufwändig sein, um es jedes Mal auf allen Zeilen auszuführen.

@arunsrinivasan Hmm Ich denke, es ist definitiv nichts, was als Teil von print.data.table default verwendet werden sollte.

Einige erste Überlegungen:

  • Könnte eine Option dazu und eine Begleitfunktion ( check_num_cols oder ähnliches) hinzufügen, die dies auf einer Eingabetabelle ausführt und die Kandidatenspalten ausspuckt.
  • Könnte dies nur beim ersten Mal tun -- haben Sie eine Art globale Variable, die jedem data.table im Speicher zugeordnet ist, die wir verwenden, um die Auswertung auszulösen
  • Könnte dies als Teil der Standardausgabe (oder verbose ) von fread haben (da ich mir vorstelle, dass dort im Allgemeinen die meisten data.table erstellt werden. Ich schätze, setDT ist die andere große Quelle.

Denken Sie daran, bald 1.9.8 zu pushen?

Oh, noch etwas, was halten Sie davon, print.data.table in eine eigene .R-Datei zu portieren?

Hm, ja, vergessen wir erstmal die Markierung von Spalten.

Beim Drücken von 1.9.8: so viel wie möglich versuchen, die anderen markierten Ausgaben so schnell wie möglich abzuschließen. Ich möchte für diese Version an Non-Equi-Joins arbeiten.

Auf print.data.table in separate Datei klingt sicher gut.

@arunsrinivasan nur ein Hinweis darauf, dass das Festlegen class = TRUE als Standard 100 Fehler in den Tests verursacht

Ok danke, werde mal schauen.

@arunsrinivasan nvm, auf den zweiten Blick ist es viel, aber überschaubar. Muss ~ 25 Tests beheben. Arbeite jetzt...

Toll! Keine Eile. Nimm dir Zeit.

Ich bin nicht wirklich davon überzeugt, die Standardeinstellung für die Druckklasse zu ändern. Ich finde es in print nicht nützlich, ich benutze str , um Klassen zu sehen (in dplyr haben sie aus irgendeinem Grund eine Blickfunktion für diesen Zweck).
Ist es nicht besser für print , standardmäßig nur die Daten zu drucken und str zu verwenden, um Klassen und Schlüssel/Indizes zu drucken?

Ich stimme @jangorecki zu, dass der Standardwert class=FALSE vorzuziehen ist. Ich schätze meinen Platz auf dem Bildschirm und brauche normalerweise keine Erinnerungen an Spaltenklassen. Dito für Schlüssel und Indizes. Ich mag diese Funktionen, würde aber erwarten, dass sie standardmäßig deaktiviert sind.

Danke für deinen Beitrag. Ich denke, es ist nützlich. Sofern es keinen triftigen Grund (+ Stimme) dagegen gibt, würde ich es gerne versuchen. Vielleicht bevorzugen es viele andere.

Vielleicht können wir die Schlüssel/Indizes auf Eis legen. Aber ich glaube nicht, dass 1 Zeile für Klassentypen den Platz Ihres Bildschirms wegnimmt.

@MichaelChirico können wir das 'keys'-Argument für diese Version auf FALSE setzen? Vielleicht können wir es in der nächsten einschalten, um zu sehen, wie diese läuft.

@arunsrinivasan sicher. Wir werden uns darum kümmern, nachdem wir das Update auf class haben.

Ich stimme Frank zu, dass es eine gewisse Informationsüberlastung sein kann, wenn es standardmäßig vorhanden ist ... vielleicht gibt es einen Mittelweg (z. B. nur Klasse drucken, wenn sich die Klasse für eine Spalte geändert hat).

Wie auch immer, ich freue mich, der Einstellung class = TRUE als Standard einen Wirbel zu geben.

Haben wir ein Skript, das ausgeführt werden kann, um Pakete zu überprüfen, die von data.table abhängen? Fragen, weil möglicherweise jedes Paket, das die Ausgabe mit Rout - Rout.save (oder capture.output - ich habe 2 solcher Nicht-CRAN-Pakete) testet, nach dem Ändern des Standarddrucks beschädigt werden könnte. Es ist wertvoll, solche Tests vorher und nachher durchzuführen, um die Auswirkungen genau zu sehen. Dann wäre es am besten, je nach Prozentsatz des betroffenen CRAN-Pakets zu entscheiden.

@jangorecki , guter Punkt. class=FALSE dann für jetzt. Ich komme später auf diese Probleme zurück. Vorerst nicht wichtig.

Gibt es Pläne für eine minimalistische Version des Druckschlüssels mit dem * ? oder ein anderes nettes ASCII-Symbol? etwas wie:

setkey(DT, site, date)
options("datatable.key.note"=TRUE)
print(DT)
#    *site *date     x
#1:      A     1    10
#2:      A     2    20

Es wäre mein bevorzugtes.

@jangorecki Mir geht es auf jeden Fall gut, aber der Widerstand, der bei einem solchen Ansatz auftauchte, ist, dass einige Leute es vorziehen, auch die Schlüsselreihenfolge zu sehen, z.

#    *site **date     x

In jedem Fall würde ich, wenn implementiert, * als Standard festlegen und eine Option lassen, um es so zu gestalten, wie Sie es möchten.

@MichaelChirico Einerseits sind mehrere Starts in Ordnung, aber wenn Sie 20 Spalten im Schlüssel hätten? Vielleicht nur ein Stern, wenn die Reihenfolge der Schlüsselspalten mit der der Datenspalten übereinstimmt, für mich wäre das in ~ 99% der Fälle.

Bis zu 3 Elemente gibt es ASCII-Nummern:

#    ¹*site ²*date     x

@MichaelChirico zu 3) oben kann man globale R-Optionen verwenden:

width.user <- options("width")
options(width=as.integer(howWideIsDT)) # temporarily resize the output console
print(DT)
options(width=width.user) # reset to user's preferences

@mbacou danke für den Input!

Zumindest in RStudio sehe ich keinen Unterschied in der Ausgabe, nachdem ich das getan habe.

@MichaelChirico Du solltest einen Unterschied sehen. Versuchen

library(data.table)
options(width=500)
(DT = data.table(matrix(1:1e3,1)))

RStudio umschließt die Konsolenausgabe und bietet keine Option zum Deaktivieren dieser „Funktion“; während die Basis-R-Konsole ohne Umbruch überläuft, bis options()$width. Auf jeden Fall solltest du einen Unterschied sehen. Versuchen Sie, die Größe Ihres Konsolenfensters zu ändern, um das Wrapping in Aktion zu sehen.

Es kann nützlich sein, ein optionales format -Argument ähnlich knitr::kable() oder type in ascii::print() hinzuzufügen, um Markdown, Pandoc, Rst, Textil usw. zu generieren. und im Org-Modus kompatible Tabellenformate?

Ich verwende oft Snippets wie diese, um Ergebnisse in E-Mails und Org- oder Markdown-Dokumente einzufügen:

print(ascii(x, digits=2), type="org")
# |   | ISO3 | ADM0_NAME                   | ELEVATION     | whea_h   |
# |---+------+-----------------------------+---------------+----------|
# | 1 | TZA  | United Republic of Tanzania |               | 19.00    |
# | 2 | TZA  | United Republic of Tanzania | (3e+02,5e+02] | 0.00     |
# | 3 | TZA  | United Republic of Tanzania | (5e+02,9e+02] | 743.00   |
# | 4 | TZA  | United Republic of Tanzania | (9e+02,1e+03] | 9519.00  |
# | 5 | TZA  | United Republic of Tanzania | (1e+03,2e+03] | 29814.00 |
# | 6 | TZA  | United Republic of Tanzania | (2e+03,5e+03] | 894.00   |

knitr::kable(x, format="markdown")
# |ISO3 |ADM0_NAME                   |ELEVATION     | whea_h|
# |:----|:---------------------------|:-------------|------:|
# |TZA  |United Republic of Tanzania |NA            |     19|
# |TZA  |United Republic of Tanzania |(3e+02,5e+02] |      0|
# |TZA  |United Republic of Tanzania |(5e+02,9e+02] |    743|
# |TZA  |United Republic of Tanzania |(9e+02,1e+03] |   9519|
# |TZA  |United Republic of Tanzania |(1e+03,2e+03] |  29814|
# |TZA  |United Republic of Tanzania |(2e+03,5e+03] |    894|

@mbacou nicht ganz überzeugt von der Nützlichkeit, dies zu print.data.table hinzuzufügen, wenn ascii::print und knitr::kable bereits gute Arbeit leisten ...

Einverstanden. Ich würde auch für eine minimale Ausgabe stimmen, aber wenn Sie planen, ausgefallenere Druckoptionen bereitzustellen, wäre die Verwendung eines Tabellenformats, das pandoc verarbeiten kann, sinnvoll.

Eine Kleinigkeit, aber es könnte eine gute Idee sein, print.data.table zu exportieren. Ich habe gerade bemerkt, dass es ausgeblendet war, als ich gerade args(print.data.table) eingegeben habe.

@franknarf1 irgendein anderer Grund? wir haben jetzt ?print.data.table und args(data.table:::print.data.table) haben das abgedeckt. wollte gerade den Export in ein PR einreichen, hielt mich aber zurück. Ich denke nicht, dass es ungewöhnlich ist, dass print Methoden versteckt sind (siehe print.lm / print.glm in base, zB)

@MichaelChirico Nein. Nicht exportiert, wie Sie sagen, kein Problem; Danke für die Frage.

Eine andere Idee: eine Option dput = TRUE , die reproduzierbaren Code schreibt (da dput(DT) nicht funktioniert). Etwas wie

dtput = function(DT){
  d0 = capture.output(dput(setattr(data.table:::shallow(DT), ".internal.selfref", NULL)))
  cat("data.table::alloc.col(", d0, ")\n", sep="\n")
}

# example
library(data.table)
DT = as.data.table(as.list(1:10))
dtput(DT)
# which writes...
data.table::alloc.col(
structure(list(V1 = 1L, V2 = 2L, V3 = 3L, V4 = 4L, V5 = 5L, V6 = 6L, 
    V7 = 7L, V8 = 8L, V9 = 9L, V10 = 10L), .Names = c("V1", "V2", 
"V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10"), row.names = c(NA, 
-1L), class = c("data.table", "data.frame"))
)

... außer weniger hacky und eingebettet in print.data.table . Ich denke, wenn dput = TRUE , können alle anderen ignoriert werden. Wenn Sie Lust bekommen, erlauben Sie vielleicht dput = "file.txt" wie dput() . Ich denke, es macht genug Sinn, es in print zu stecken, und es lohnt sich nicht, eine neue Funktion hinzuzufügen.

Eine andere Idee ähnlich der in #645 : Deaktivieren Sie die intelligente Trunkierung der Listenspaltenanzeige: Beispiel von SO .

Ich sehe diese Kürzung ziemlich häufig, und in einigen Fällen wäre es schön zu sehen, wie die Listenspalte v stattdessen sapply(v, toString) wäre.

@ franknarf1 Ich denke, eine sehr einfache Lösung wäre hier :

paste(c(format(head(x,6), justify=justify, ...), if(length(x)>6)""),collapse=",")

Ändere "" in "..." . Was denkst du? Ich mag toString , sollte aber auch einen Standardparameter width haben, ich bin mir nicht sicher, wie ich das robust machen soll.


eigentlich toString.default lesen:

function (x, width = NULL, ...) 
{
    string <- paste(x, collapse = ", ")
    if (missing(width) || is.null(width) || width == 0) 
        return(string)
    if (width < 0) 
        stop("'width' must be positive")
    if (nchar(string, type = "w") > width) {
        width <- max(6, width)
        string <- paste0(strtrim(string, width - 4), "....")
    }
    string
}

Es scheint, dass die standardmäßige Handhabung von width der derzeit implementierten ähnelt. Ich denke, es ist besser, die Ausgabe basierend auf der Bildschirmbreite zu begrenzen, anstatt auf die ersten paar Elemente zu kürzen, oder?

Dieser Ansatz ermöglicht auch eine bessere Benutzerinteraktion, da toString S3 -registriert ist – wir (oder Endbenutzer) könnten toString.* -Methoden für alle auftretenden Anwendungsfälle schreiben/anpassen. Fügen Sie vielleicht einen colWidth Parameter zu print.data.table hinzu, der in width von toString.default abgelegt würde ...

@MichaelChirico Ein Punkt zugunsten des abschließenden "," gegenüber einem ",..." ist, dass es horizontalen Platz spart. Trotzdem scheint das eine gute Änderung zu sein, da die meisten Benutzer nicht erraten werden, was "," bedeutet.

Anstatt dieser Änderung war ich mehr daran interessiert, eine höhere Anzahl von Einträgen anstelle von 6 in head(x, 6) zu drucken, wie Ihre colWidth-Idee.

Bezüglich Methoden würde ich ein Argument wie formatters = list(character = function(x) toString(x), lm = function(x) x$qr$tol) finden, das einfach zu verwenden ist (für Listenspalten zu verwenden, vorausgesetzt, dass jedes Element mit der benannten Klasse übereinstimmt oder NULL ist). Ich bin mir nicht sicher, ob du das gemeint hast.

Ich dachte, ich würde hier #2893 erwähnen, da die beiden eng miteinander verwandt zu sein scheinen.

(Ähnlich wie in meinem letzten Kommentar ...) Eine data.table wie ...

library(data.table)
(DT <- data.table(id = 1:2, v = numeric_version("0.0.0")))
#   id                 v
# 1:  1 <numeric_version>
# 2:  2 <numeric_version>

Ich kann den Inhalt meiner Listenspalte nicht wirklich lesen, obwohl es eine Druckmethode dafür gibt.

Es wäre schön, eine Möglichkeit zu haben, data.table mitzuteilen, wie ich eine Listenspalte einer bestimmten Klasse drucken möchte, wie ...

library(magrittr)

formatters = list(numeric_version = as.character)

printDT = data.table:::shallow(DT)
left_cols = which(sapply(DT, is.list))
for (i in seq_along(formatters)){
    if (length(left_cols) == 0L) break 
    alt_cols = left_cols[ sapply(DT[, ..left_cols], inherits, names(formatters)[i]) ]    
    if (length(alt_cols)){
      printDT[, (alt_cols) := lapply(.SD, formatters[[i]]), .SDcols = alt_cols][]
      left_cols = setdiff(left_cols, alt_cols)
    }
}
print(printDT)

   id     v
1:  1 0.0.0
2:  2 0.0.0

Diese Liste könnte vom Benutzer in options(datatable.print.formatters = formatters) übergeben werden. Um die Rechenlast zu reduzieren, würde ich dies nach dem Filtern mit nrows= und topn= tun.

(Wenn ich eine Ergänzung zu dieser Liste vorschlagen möchte, füge ich sie hier hinzu oder füge sie als eigenständiges Problem hinzu?)

Sie können es einfach hier hinzufügen. Fühlen Sie sich frei, den ersten Beitrag zu bearbeiten, aber fügen Sie auch ein
kommentieren Sie bitte eine Ausstellung

Am Mo, 4. Februar 2019, 10:19 Uhr HughParsonage

(Wenn ich eine Ergänzung zu dieser Liste vorschlagen möchte, füge ich sie hier hinzu oder füge sie hinzu
als eigenständiges Problem?)


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Rdatatable/data.table/issues/1523#issuecomment-460113509 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AHQQdd5pO_1tQjE7BL_B2i2dGeRN4p5yks5vJ5jNgaJpZM4HUz9_
.

Je weniger Punkte im Geltungsbereich definiert sind, desto einfacher ist es, einen PR dafür zusammenzuführen. Es ist auf jeden Fall sinnvoll, Punkte, die zu Breaking Change (falls vorhanden) führen können, von denen zu trennen, für die sich das Standardverhalten nicht ändert.

Dies wird jedoch nicht in einem einzigen PR geschehen, sondern nach und nach

Am Mo, 4. Februar 2019, 12:23 Uhr schrieb Jan Gorecki < [email protected] :

Je weniger Punkte im Geltungsbereich definiert sind, desto einfacher ist es, einen PR dafür zusammenzuführen.
Auf jeden Fall ist es sinnvoll, Punkte zu trennen, die zu einem Bruch führen können
Änderung (falls vorhanden) von denen, für die sich das Standardverhalten nicht ändert.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/Rdatatable/data.table/issues/1523#issuecomment-460127326 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AHQQdeNB5EZPMn44zsIfag--2jsQwZTyks5vJ7WmgaJpZM4HUz9_
.

Als Erweiterung zu @fparages ' https://github.com/Rdatatable/data.table/pull/3500 (das sich auf das Zeitzonenanzeigeelement im OP dieser Ausgabe/dieses Threads bezieht), könnte es nett sein, auch das tz-Being zu unterstützen in der Klassenüberschrift gedruckt, <POSc:-07:00> oder <POSc:PDT> , und nicht in der Spalte (um horizontalen Platz zu sparen), zB wenn class=tz=TRUE.

^ verwandt: #2842

Das wäre großartig!

Hallo zusammen. Ich weiß nicht, ob es Sie interessiert, aber ich habe einen Fehler in print.data.table(col.names="none") bemerkt, wenn es viele Spalten gibt. minimaler Code ist:

library(data.table)
x <- 1:30
DT <- data.table(t(x))
print(DT, col.names="none")

Ausgabe auf meinem System ist:

th798<strong i="10">@cmp2986</strong> MINGW64 ~/R
$ R --vanilla < datatable-print-bug.R

R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(data.table)
> x <- 1:30
> DT <- data.table(t(x))
> print(DT, col.names="none")
1:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21
   V22 V23 V24 V25 V26 V27 V28 V29 V30
1:  22  23  24  25  26  27  28  29  30
> 
]0;MINGW64:/c/Users/th798/R
th798<strong i="11">@cmp2986</strong> MINGW64 ~/R
$ 

Sie können in der obigen Ausgabe sehen, dass die Spaltennamen V22 bis V30 gedruckt werden, aber ich hatte erwartet, dass dies nicht der Fall sein sollte. Was ich erwartet habe:

> print(DT, col.names="none")
1:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21
1:  22  23  24  25  26  27  28  29  30
> 

Gibt es einen Bereich, um ein dplyr::glimpse -Äquivalent hinzuzufügen (ich sehe es nicht in der Liste)? Obwohl ich dplyr sicherlich für diesen Zweck verwenden kann, muss ich eine Reihe von Abhängigkeiten installieren, um die Funktion zu erhalten. Ein Anwendungsfall ist unten hervorgehoben (Hinweis: lädt ~4 MB auf das System herunter).

download.file(
  "https://download.cms.gov/nppes/NPPES_Data_Dissemination_120720_121320_Weekly.zip",
  "file.zip")

data <- fread("unzip -cq file.zip npidata_pfile_20201207-20201213.csv")

Die Standardmethode von data.table print liefert eine sehr lange Ausgabe, die nicht wirklich hilfreich ist, um den Inhalt der Datei zu verstehen.

Ausgabe ansehen

> data
              NPI Entity Type Code Replacement NPI Employer Identification Number (EIN)
    1: 1134691124                2              NA                            <UNAVAIL>
    2: 1124623970                2              NA                            <UNAVAIL>
    3: 1154927192                2              NA                            <UNAVAIL>
       Provider Organization Name (Legal Business Name) Provider Last Name (Legal Name) Provider First Name Provider Middle Name
    1:                        SOCAL BEHAVIORAL MEDICINE                                                                         
    2:       FULL OF GREATS TRANSPORT LLC FOG TRANSPORT                                                                         
    3:         4000 MOUNT ELENA CIRCLE CORONA, CA 92882                                                                         
       Provider Name Prefix Text Provider Name Suffix Text Provider Credential Text Provider Other Organization Name
    1:                                                                                     SOCAL BEHAVIORAL MEDICINE
    2:                                                                                                              
    3:                                                                                                              
       Provider Other Organization Name Type Code Provider Other Last Name Provider Other First Name Provider Other Middle Name
    1:                                          3                                                                              
    2:                                         NA                                                                              
    3:                                         NA                                                                              
       Provider Other Name Prefix Text Provider Other Name Suffix Text Provider Other Credential Text
    1:                                                                                               
    2:                                                                                               
    3:                                                                                               
       Provider Other Last Name Type Code Provider First Line Business Mailing Address
    1:                                 NA                     10650 REAGAN ST UNIT 824
    2:                                 NA                         6609 W BROOKHART WAY
    3:                                 NA                         4000 MOUNT ELENA CIR
       Provider Second Line Business Mailing Address Provider Business Mailing Address City Name
    1:                                                                              LOS ALAMITOS
    2:                                                                                   PHOENIX
    3:                                                                                    CORONA
       Provider Business Mailing Address State Name Provider Business Mailing Address Postal Code
    1:                                           CA                                     907208844
    2:                                           AZ                                     850837403
    3:                                           CA                                     928827916
       Provider Business Mailing Address Country Code (If outside U.S.) Provider Business Mailing Address Telephone Number
    1:                                                               US                                                   
    2:                                                               US                                         5053079984
    3:                                                               US                                         6269935823
       Provider Business Mailing Address Fax Number Provider First Line Business Practice Location Address
    1:                                         <NA>                        234 S PACIFIC COAST HWY STE 202
    2:                                   4807187714                                   6609 W BROOKHART WAY
    3:                                         <NA>                                   4000 MOUNT ELENA CIR
       Provider Second Line Business Practice Location Address Provider Business Practice Location Address City Name
    1:                                                                                                 REDONDO BEACH
    2:                                                                                                       PHOENIX
    3:                                                                                                        CORONA
       Provider Business Practice Location Address State Name Provider Business Practice Location Address Postal Code
    1:                                                     CA                                               902777001
    2:                                                     AZ                                               850837403
    3:                                                     CA                                               928827916
       Provider Business Practice Location Address Country Code (If outside U.S.)
    1:                                                                         US
    2:                                                                         US
    3:                                                                         US
       Provider Business Practice Location Address Telephone Number Provider Business Practice Location Address Fax Number
    1:                                                   3106985252                                                   <NA>
    2:                                                   5053079984                                             4807187714
    3:                                                   6269935823                                                   <NA>
       Provider Enumeration Date Last Update Date NPI Deactivation Reason Code NPI Deactivation Date NPI Reactivation Date
    1:                01/01/2019       12/07/2020                           NA                                            
    2:                12/01/2020       12/07/2020                           NA                                            
    3:                12/07/2020       12/07/2020                           NA                                            
       Provider Gender Code Authorized Official Last Name Authorized Official First Name Authorized Official Middle Name
    1:                                              HULST                         GINGER                                
    2:                                               HURT                        TYRREIA                               S
    3:                                            YOUSSEF                          ALICE                               K
       Authorized Official Title or Position Authorized Official Telephone Number Healthcare Provider Taxonomy Code_1
    1:                              CO-OWNER                           3106985252                          363LF0000X
    2:                                MEMBER                           5053079984                          343900000X
    3:                                 OWNER                           6269935823                          172V00000X
       Provider License Number_1 Provider License Number State Code_1 Healthcare Provider Primary Taxonomy Switch_1
    1:                                                                                                            N
    2:                                                                                                            Y
    3:                                                                                                            Y
       Healthcare Provider Taxonomy Code_2 Provider License Number_2 Provider License Number State Code_2
    1:                          207RA0401X                                                               
    2:                                                                                                   
    3:                                                                                                   
       Healthcare Provider Primary Taxonomy Switch_2 Healthcare Provider Taxonomy Code_3 Provider License Number_3
    1:                                             Y                                                              
    2:                                                                                                            
    3:                                                                                                            
       Provider License Number State Code_3 Healthcare Provider Primary Taxonomy Switch_3 Healthcare Provider Taxonomy Code_4
    1:                                                                                                                       
    2:                                                                                                                       
    3:                                                                                                                       
       Provider License Number_4 Provider License Number State Code_4 Healthcare Provider Primary Taxonomy Switch_4
    1:                                                                                                             
    2:                                                                                                             
    3:                                                                                                             
       Healthcare Provider Taxonomy Code_5 Provider License Number_5 Provider License Number State Code_5
    1:                                                                                                   
    2:                                                                                                   
    3:                                                                                                   
       Healthcare Provider Primary Taxonomy Switch_5 Healthcare Provider Taxonomy Code_6 Provider License Number_6
    1:                                                                                                            
    2:                                                                                                            
    3:                                                                                                            
       Provider License Number State Code_6 Healthcare Provider Primary Taxonomy Switch_6 Healthcare Provider Taxonomy Code_7
    1:                                                                                                                       
    2:                                                                                                                       
    3:                                                                                                                       
       Provider License Number_7 Provider License Number State Code_7 Healthcare Provider Primary Taxonomy Switch_7
    1:                                                                                                             
    2:                                                                                                             
    3:                                                                                                             
       Healthcare Provider Taxonomy Code_8 Provider License Number_8 Provider License Number State Code_8
    1:                                                                                                   
    2:                                                                                                   
    3:                                                                                                   
       Healthcare Provider Primary Taxonomy Switch_8 Healthcare Provider Taxonomy Code_9 Provider License Number_9
    1:                                                                                                            
    2:                                                                                                            
    3:                                                                                                            
       Provider License Number State Code_9 Healthcare Provider Primary Taxonomy Switch_9 Healthcare Provider Taxonomy Code_10
    1:                                                                                                                        
    2:                                                                                                                        
    3:                                                                                                                        
       Provider License Number_10 Provider License Number State Code_10 Healthcare Provider Primary Taxonomy Switch_10
    1:                                                                                                                
    2:                                                                                                                
    3:                                                                                                                
       Healthcare Provider Taxonomy Code_11 Provider License Number_11 Provider License Number State Code_11
    1:                                                                                                      
    2:                                                                                                      
    3:                                                                                                      
       Healthcare Provider Primary Taxonomy Switch_11 Healthcare Provider Taxonomy Code_12 Provider License Number_12
    1:                                                                                                               
    2:                                                                                                               
    3:                                                                                                               
       Provider License Number State Code_12 Healthcare Provider Primary Taxonomy Switch_12 Healthcare Provider Taxonomy Code_13
    1:                                                                                                                          
    2:                                                                                                                          
    3:                                                                                                                          
       Provider License Number_13 Provider License Number State Code_13 Healthcare Provider Primary Taxonomy Switch_13
    1:                                                                                                                
    2:                                                                                                                
    3:                                                                                                                
       Healthcare Provider Taxonomy Code_14 Provider License Number_14 Provider License Number State Code_14
    1:                                                                                                      
    2:                                                                                                      
    3:                                                                                                      
       Healthcare Provider Primary Taxonomy Switch_14 Healthcare Provider Taxonomy Code_15 Provider License Number_15
    1:                                                                                                               
    2:                                                                                                               
    3:                                                                                                               
       Provider License Number State Code_15 Healthcare Provider Primary Taxonomy Switch_15 Other Provider Identifier_1
    1:                                                                                                                 
    2:                                                                                                                 
    3:                                                                                                                 
       Other Provider Identifier Type Code_1 Other Provider Identifier State_1 Other Provider Identifier Issuer_1
    1:                                    NA                                                                     
    2:                                    NA                                                                     
    3:                                    NA                                                                     
       Other Provider Identifier_2 Other Provider Identifier Type Code_2 Other Provider Identifier State_2
    1:                                                                NA                                  
    2:                                                                NA                                  
    3:                                                                NA                                  
       Other Provider Identifier Issuer_2 Other Provider Identifier_3 Other Provider Identifier Type Code_3
    1:                                                                                                   NA
    2:                                                                                                   NA
    3:                                                                                                   NA
       Other Provider Identifier State_3 Other Provider Identifier Issuer_3 Other Provider Identifier_4
    1:                                                                                                 
    2:                                                                                                 
    3:                                                                                                 
       Other Provider Identifier Type Code_4 Other Provider Identifier State_4 Other Provider Identifier Issuer_4
    1:                                    NA                                                                     
    2:                                    NA                                                                     
    3:                                    NA                                                                     
       Other Provider Identifier_5 Other Provider Identifier Type Code_5 Other Provider Identifier State_5
    1:                                                                NA                                  
    2:                                                                NA                                  
    3:                                                                NA                                  
       Other Provider Identifier Issuer_5 Other Provider Identifier_6 Other Provider Identifier Type Code_6
    1:                                                                                                   NA
    2:                                                                                                   NA
    3:                                                                                                   NA
       Other Provider Identifier State_6 Other Provider Identifier Issuer_6 Other Provider Identifier_7
    1:                                                                                                 
    2:                                                                                                 
    3:                                                                                                 
       Other Provider Identifier Type Code_7 Other Provider Identifier State_7 Other Provider Identifier Issuer_7
    1:                                    NA                                                                     
    2:                                    NA                                                                     
    3:                                    NA                                                                     
       Other Provider Identifier_8 Other Provider Identifier Type Code_8 Other Provider Identifier State_8
    1:                                                                NA                                  
    2:                                                                NA                                  
    3:                                                                NA                                  
       Other Provider Identifier Issuer_8 Other Provider Identifier_9 Other Provider Identifier Type Code_9
    1:                                                                                                   NA
    2:                                                                                                   NA
    3:                                                                                                   NA
       Other Provider Identifier State_9 Other Provider Identifier Issuer_9 Other Provider Identifier_10
    1:                                                                                                  
    2:                                                                                                  
    3:                                                                                                  
       Other Provider Identifier Type Code_10 Other Provider Identifier State_10 Other Provider Identifier Issuer_10
    1:                                     NA                                                                       
    2:                                     NA                                                                       
    3:                                     NA                                                                       
       Other Provider Identifier_11 Other Provider Identifier Type Code_11 Other Provider Identifier State_11
    1:                                                                  NA                                   
    2:                                                                  NA                                   
    3:                                                                  NA                                   
       Other Provider Identifier Issuer_11 Other Provider Identifier_12 Other Provider Identifier Type Code_12
    1:                                                                                                      NA
    2:                                                                                                      NA
    3:                                                                                                      NA
       Other Provider Identifier State_12 Other Provider Identifier Issuer_12 Other Provider Identifier_13
    1:                                                                                                    
    2:                                                                                                    
    3:                                                                                                    
       Other Provider Identifier Type Code_13 Other Provider Identifier State_13 Other Provider Identifier Issuer_13
    1:                                     NA                                                                       
    2:                                     NA                                                                       
    3:                                     NA                                                                       
       Other Provider Identifier_14 Other Provider Identifier Type Code_14 Other Provider Identifier State_14
    1:                                                                  NA                                   
    2:                                                                  NA                                   
    3:                                                                  NA                                   
       Other Provider Identifier Issuer_14 Other Provider Identifier_15 Other Provider Identifier Type Code_15
    1:                                                                                                      NA
    2:                                                                                                      NA
    3:                                                                                                      NA
       Other Provider Identifier State_15 Other Provider Identifier Issuer_15 Other Provider Identifier_16
    1:                                                                                                    
    2:                                                                                                    
    3:                                                                                                    
       Other Provider Identifier Type Code_16 Other Provider Identifier State_16 Other Provider Identifier Issuer_16
    1:                                     NA                                                                       
    2:                                     NA                                                                       
    3:                                     NA                                                                       
       Other Provider Identifier_17 Other Provider Identifier Type Code_17 Other Provider Identifier State_17
    1:                                                                  NA                                   
    2:                                                                  NA                                   
    3:                                                                  NA                                   
       Other Provider Identifier Issuer_17 Other Provider Identifier_18 Other Provider Identifier Type Code_18
    1:                                                                                                      NA
    2:                                                                                                      NA
    3:                                                                                                      NA
       Other Provider Identifier State_18 Other Provider Identifier Issuer_18 Other Provider Identifier_19
    1:                                                                                                    
    2:                                                                                                    
    3:                                                                                                    
       Other Provider Identifier Type Code_19 Other Provider Identifier State_19 Other Provider Identifier Issuer_19
    1:                                     NA                                                                       
    2:                                     NA                                                                       
    3:                                     NA                                                                       
       Other Provider Identifier_20 Other Provider Identifier Type Code_20 Other Provider Identifier State_20
    1:                           NA                                     NA                                   
    2:                           NA                                     NA                                   
    3:                           NA                                     NA                                   
       Other Provider Identifier Issuer_20 Other Provider Identifier_21 Other Provider Identifier Type Code_21
    1:                                                                                                      NA
    2:                                                                                                      NA
    3:                                                                                                      NA
       Other Provider Identifier State_21 Other Provider Identifier Issuer_21 Other Provider Identifier_22
    1:                                                                                                  NA
    2:                                                                                                  NA
    3:                                                                                                  NA
       Other Provider Identifier Type Code_22 Other Provider Identifier State_22 Other Provider Identifier Issuer_22
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_23 Other Provider Identifier Type Code_23 Other Provider Identifier State_23
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_23 Other Provider Identifier_24 Other Provider Identifier Type Code_24
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_24 Other Provider Identifier Issuer_24 Other Provider Identifier_25
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_25 Other Provider Identifier State_25 Other Provider Identifier Issuer_25
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_26 Other Provider Identifier Type Code_26 Other Provider Identifier State_26
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_26 Other Provider Identifier_27 Other Provider Identifier Type Code_27
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_27 Other Provider Identifier Issuer_27 Other Provider Identifier_28
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_28 Other Provider Identifier State_28 Other Provider Identifier Issuer_28
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_29 Other Provider Identifier Type Code_29 Other Provider Identifier State_29
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_29 Other Provider Identifier_30 Other Provider Identifier Type Code_30
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_30 Other Provider Identifier Issuer_30 Other Provider Identifier_31
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_31 Other Provider Identifier State_31 Other Provider Identifier Issuer_31
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_32 Other Provider Identifier Type Code_32 Other Provider Identifier State_32
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_32 Other Provider Identifier_33 Other Provider Identifier Type Code_33
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_33 Other Provider Identifier Issuer_33 Other Provider Identifier_34
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_34 Other Provider Identifier State_34 Other Provider Identifier Issuer_34
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_35 Other Provider Identifier Type Code_35 Other Provider Identifier State_35
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_35 Other Provider Identifier_36 Other Provider Identifier Type Code_36
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_36 Other Provider Identifier Issuer_36 Other Provider Identifier_37
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_37 Other Provider Identifier State_37 Other Provider Identifier Issuer_37
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_38 Other Provider Identifier Type Code_38 Other Provider Identifier State_38
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_38 Other Provider Identifier_39 Other Provider Identifier Type Code_39
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_39 Other Provider Identifier Issuer_39 Other Provider Identifier_40
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_40 Other Provider Identifier State_40 Other Provider Identifier Issuer_40
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_41 Other Provider Identifier Type Code_41 Other Provider Identifier State_41
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_41 Other Provider Identifier_42 Other Provider Identifier Type Code_42
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_42 Other Provider Identifier Issuer_42 Other Provider Identifier_43
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_43 Other Provider Identifier State_43 Other Provider Identifier Issuer_43
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_44 Other Provider Identifier Type Code_44 Other Provider Identifier State_44
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_44 Other Provider Identifier_45 Other Provider Identifier Type Code_45
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_45 Other Provider Identifier Issuer_45 Other Provider Identifier_46
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_46 Other Provider Identifier State_46 Other Provider Identifier Issuer_46
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_47 Other Provider Identifier Type Code_47 Other Provider Identifier State_47
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_47 Other Provider Identifier_48 Other Provider Identifier Type Code_48
    1:                                  NA                           NA                                     NA
    2:                                  NA                           NA                                     NA
    3:                                  NA                           NA                                     NA
       Other Provider Identifier State_48 Other Provider Identifier Issuer_48 Other Provider Identifier_49
    1:                                 NA                                  NA                           NA
    2:                                 NA                                  NA                           NA
    3:                                 NA                                  NA                           NA
       Other Provider Identifier Type Code_49 Other Provider Identifier State_49 Other Provider Identifier Issuer_49
    1:                                     NA                                 NA                                  NA
    2:                                     NA                                 NA                                  NA
    3:                                     NA                                 NA                                  NA
       Other Provider Identifier_50 Other Provider Identifier Type Code_50 Other Provider Identifier State_50
    1:                           NA                                     NA                                 NA
    2:                           NA                                     NA                                 NA
    3:                           NA                                     NA                                 NA
       Other Provider Identifier Issuer_50 Is Sole Proprietor Is Organization Subpart Parent Organization LBN
    1:                                  NA                                          N                        
    2:                                  NA                                          N                        
    3:                                  NA                                          N                        
       Parent Organization TIN Authorized Official Name Prefix Text Authorized Official Name Suffix Text
    1:                                                                                                  
    2:                                                         MRS.                                     
    3:                                                                                                  
       Authorized Official Credential Text       Healthcare Provider Taxonomy Group_1 Healthcare Provider Taxonomy Group_2
    1:                                  NP           193200000X MULTI-SPECIALTY GROUP     193200000X MULTI-SPECIALTY GROUP
    2:                                                                                                                    
    3:                                               193200000X MULTI-SPECIALTY GROUP                                     
       Healthcare Provider Taxonomy Group_3 Healthcare Provider Taxonomy Group_4 Healthcare Provider Taxonomy Group_5
    1:                                                                                                               
    2:                                                                                                               
    3:                                                                                                               
       Healthcare Provider Taxonomy Group_6 Healthcare Provider Taxonomy Group_7 Healthcare Provider Taxonomy Group_8
    1:                                                                                                               
    2:                                                                                                               
    3:                                                                                                               
       Healthcare Provider Taxonomy Group_9 Healthcare Provider Taxonomy Group_10 Healthcare Provider Taxonomy Group_11
    1:                                                                                                                 
    2:                                                                                                                 
    3:                                                                                                                 
       Healthcare Provider Taxonomy Group_12 Healthcare Provider Taxonomy Group_13 Healthcare Provider Taxonomy Group_14
    1:                                                                                                                  
    2:                                                                                                                  
    3:                                                                                                                  
       Healthcare Provider Taxonomy Group_15 Certification Date
    1:                                               12/07/2020
    2:                                               12/07/2020
    3:                                               12/07/2020
 [ reached getOption("max.print") -- omitted 8 rows ]
 ```
</p></details>

`dplyr::glimpse` *also* gives a long output, but still very much readable.

<details><summary>View output</summary><p>

```R
> dplyr::glimpse(data)
Rows: 21,806
Columns: 330
$ NPI                                                                          <int> 1134691124, 1124623970, 1154927192, 1144...
$ `Entity Type Code`                                                           <int> 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1...
$ `Replacement NPI`                                                            <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Employer Identification Number (EIN)`                                       <chr> "<UNAVAIL>", "<UNAVAIL>", "<UNAVAIL>", "...
$ `Provider Organization Name (Legal Business Name)`                           <chr> "SOCAL BEHAVIORAL MEDICINE", "FULL OF GR...
$ `Provider Last Name (Legal Name)`                                            <chr> "", "", "", "SLAT", "", "CARABBACAN", ""...
$ `Provider First Name`                                                        <chr> "", "", "", "STACY", "", "NICCOLO MCWIN"...
$ `Provider Middle Name`                                                       <chr> "", "", "", "KING", "", "MADRIGAL", "", ...
$ `Provider Name Prefix Text`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Name Suffix Text`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Credential Text`                                                   <chr> "", "", "", "MD", "", "", "", "", "", "D...
$ `Provider Other Organization Name`                                           <chr> "SOCAL BEHAVIORAL MEDICINE", "", "", "",...
$ `Provider Other Organization Name Type Code`                                 <int> 3, NA, NA, NA, NA, NA, NA, NA, 3, NA, NA...
$ `Provider Other Last Name`                                                   <chr> "", "", "", "KING", "", "", "", "", "", ...
$ `Provider Other First Name`                                                  <chr> "", "", "", "STACY", "", "", "", "", "",...
$ `Provider Other Middle Name`                                                 <chr> "", "", "", "MARIE", "", "", "", "", "",...
$ `Provider Other Name Prefix Text`                                            <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Other Name Suffix Text`                                            <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Other Credential Text`                                             <chr> "", "", "", "M.D.", "", "", "", "", "", ...
$ `Provider Other Last Name Type Code`                                         <int> NA, NA, NA, 1, NA, NA, NA, NA, NA, NA, N...
$ `Provider First Line Business Mailing Address`                               <chr> "10650 REAGAN ST UNIT 824", "6609 W BROO...
$ `Provider Second Line Business Mailing Address`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Business Mailing Address City Name`                                <chr> "LOS ALAMITOS", "PHOENIX", "CORONA", "NE...
$ `Provider Business Mailing Address State Name`                               <chr> "CA", "AZ", "CA", "VA", "NJ", "CA", "CO"...
$ `Provider Business Mailing Address Postal Code`                              <chr> "907208844", "850837403", "928827916", "...
$ `Provider Business Mailing Address Country Code (If outside U.S.)`           <chr> "US", "US", "US", "US", "US", "US", "US"...
$ `Provider Business Mailing Address Telephone Number`                         <chr> "", "5053079984", "6269935823", "7573165...
$ `Provider Business Mailing Address Fax Number`                               <int64> NA, 4807187714, NA, NA, NA, NA, 970484...
$ `Provider First Line Business Practice Location Address`                     <chr> "234 S PACIFIC COAST HWY STE 202", "6609...
$ `Provider Second Line Business Practice Location Address`                    <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Business Practice Location Address City Name`                      <chr> "REDONDO BEACH", "PHOENIX", "CORONA", "W...
$ `Provider Business Practice Location Address State Name`                     <chr> "CA", "AZ", "CA", "VA", "NJ", "CA", "CO"...
$ `Provider Business Practice Location Address Postal Code`                    <chr> "902777001", "850837403", "928827916", "...
$ `Provider Business Practice Location Address Country Code (If outside U.S.)` <chr> "US", "US", "US", "US", "US", "US", "US"...
$ `Provider Business Practice Location Address Telephone Number`               <chr> "3106985252", "5053079984", "6269935823"...
$ `Provider Business Practice Location Address Fax Number`                     <int64> NA, 4807187714, NA, NA, NA, 8585389751...
$ `Provider Enumeration Date`                                                  <chr> "01/01/2019", "12/01/2020", "12/07/2020"...
$ `Last Update Date`                                                           <chr> "12/07/2020", "12/07/2020", "12/07/2020"...
$ `NPI Deactivation Reason Code`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `NPI Deactivation Date`                                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `NPI Reactivation Date`                                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider Gender Code`                                                       <chr> "", "", "", "F", "", "M", "", "", "", "F...
$ `Authorized Official Last Name`                                              <chr> "HULST", "HURT", "YOUSSEF", "", "TIMOTHE...
$ `Authorized Official First Name`                                             <chr> "GINGER", "TYRREIA", "ALICE", "", "BEBYT...
$ `Authorized Official Middle Name`                                            <chr> "", "S", "K", "", "", "", "LYNN", "LYNN"...
$ `Authorized Official Title or Position`                                      <chr> "CO-OWNER", "MEMBER", "OWNER", "", "MANA...
$ `Authorized Official Telephone Number`                                       <int64> 3106985252, 5053079984, 6269935823, NA...
$ `Healthcare Provider Taxonomy Code_1`                                        <chr> "363LF0000X", "343900000X", "172V00000X"...
$ `Provider License Number_1`                                                  <chr> "", "", "", "48977", "", "83591", "", ""...
$ `Provider License Number State Code_1`                                       <chr> "", "", "", "CT", "", "CA", "", "", "MN"...
$ `Healthcare Provider Primary Taxonomy Switch_1`                              <chr> "N", "Y", "Y", "Y", "N", "Y", "Y", "Y", ...
$ `Healthcare Provider Taxonomy Code_2`                                        <chr> "207RA0401X", "", "", "", "", "", "", ""...
$ `Provider License Number_2`                                                  <chr> "", "", "", "", "", "", "", "", "", "156...
$ `Provider License Number State Code_2`                                       <chr> "", "", "", "", "", "", "", "", "", "MA"...
$ `Healthcare Provider Primary Taxonomy Switch_2`                              <chr> "Y", "", "", "", "", "", "", "", "", "N"...
$ `Healthcare Provider Taxonomy Code_3`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_3`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_3`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_3`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_4`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_4`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_4`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_4`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_5`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_5`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_5`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_5`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_6`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_6`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_6`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_6`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_7`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_7`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_7`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_7`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_8`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_8`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_8`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_8`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_9`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_9`                                                  <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_9`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_9`                              <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_10`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_10`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_10`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_10`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_11`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_11`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_11`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_11`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_12`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_12`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_12`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_12`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_13`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_13`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_13`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_13`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_14`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_14`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_14`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_14`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Code_15`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number_15`                                                 <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Provider License Number State Code_15`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Primary Taxonomy Switch_15`                             <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_1`                                                <chr> "", "", "", "", "", "", "", "", "381417"...
$ `Other Provider Identifier Type Code_1`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, 1, NA, N...
$ `Other Provider Identifier State_1`                                          <chr> "", "", "", "", "", "", "", "", "MN", ""...
$ `Other Provider Identifier Issuer_1`                                         <chr> "", "", "", "", "", "", "", "", "MINNESO...
$ `Other Provider Identifier_2`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_2`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_2`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_2`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_3`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_3`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_3`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_3`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_4`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_4`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_4`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_4`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_5`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_5`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_5`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_5`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_6`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_6`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_6`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_6`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_7`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_7`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_7`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_7`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_8`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_8`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_8`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_8`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_9`                                                <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_9`                                      <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_9`                                          <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_9`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_10`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_10`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_10`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_10`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_11`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_11`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_11`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_11`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_12`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_12`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_12`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_12`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_13`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_13`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_13`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_13`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_14`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_14`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_14`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_14`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_15`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_15`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_15`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_15`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_16`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_16`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_16`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_16`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_17`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_17`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_17`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_17`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_18`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_18`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_18`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_18`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_19`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_19`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_19`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_19`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_20`                                               <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_20`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_20`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_20`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_21`                                               <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Type Code_21`                                     <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_21`                                         <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier Issuer_21`                                        <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Other Provider Identifier_22`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_22`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_22`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_22`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_23`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_23`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_23`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_23`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_24`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_24`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_24`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_24`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_25`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_25`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_25`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_25`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_26`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_26`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_26`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_26`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_27`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_27`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_27`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_27`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_28`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_28`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_28`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_28`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_29`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_29`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_29`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_29`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_30`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_30`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_30`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_30`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_31`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_31`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_31`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_31`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_32`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_32`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_32`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_32`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_33`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_33`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_33`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_33`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_34`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_34`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_34`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_34`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_35`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_35`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_35`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_35`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_36`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_36`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_36`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_36`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_37`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_37`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_37`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_37`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_38`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_38`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_38`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_38`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_39`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_39`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_39`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_39`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_40`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_40`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_40`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_40`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_41`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_41`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_41`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_41`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_42`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_42`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_42`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_42`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_43`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_43`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_43`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_43`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_44`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_44`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_44`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_44`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_45`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_45`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_45`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_45`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_46`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_46`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_46`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_46`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_47`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_47`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_47`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_47`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_48`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_48`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_48`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_48`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_49`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_49`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_49`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_49`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier_50`                                               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Type Code_50`                                     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier State_50`                                         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Other Provider Identifier Issuer_50`                                        <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, ...
$ `Is Sole Proprietor`                                                         <chr> "", "", "", "N", "", "N", "", "", "", "N...
$ `Is Organization Subpart`                                                    <chr> "N", "N", "N", "", "N", "", "N", "N", "N...
$ `Parent Organization LBN`                                                    <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Parent Organization TIN`                                                    <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Authorized Official Name Prefix Text`                                       <chr> "", "MRS.", "", "", "", "", "", "", "", ...
$ `Authorized Official Name Suffix Text`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Authorized Official Credential Text`                                        <chr> "NP", "", "", "", "LPN", "", "", "", "RN...
$ `Healthcare Provider Taxonomy Group_1`                                       <chr> "193200000X MULTI-SPECIALTY GROUP", "", ...
$ `Healthcare Provider Taxonomy Group_2`                                       <chr> "193200000X MULTI-SPECIALTY GROUP", "", ...
$ `Healthcare Provider Taxonomy Group_3`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_4`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_5`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_6`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_7`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_8`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_9`                                       <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_10`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_11`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_12`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_13`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_14`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Healthcare Provider Taxonomy Group_15`                                      <chr> "", "", "", "", "", "", "", "", "", "", ...
$ `Certification Date`                                                         <chr> "12/07/2020", "12/07/2020", "12/07/2020"...

Letzteres gibt meiner Meinung nach eine Zusammenfassung des Datensatzes, die sich als hilfreich erweist, um den Inhalt sowie die Spaltennamen der Daten zu verstehen. Beachten Sie, dass dies kein Datensatz ist, der melt reduziert werden kann. Ich könnte str als Alternative verwenden, aber es druckt nicht sehr sauber, dh Daten aus einer einzelnen Spalte werden in der nächsten Zeile auf der Konsole angezeigt (hier nicht zu sehen), z.

Ausgabe ansehen

Classes ‘data.table’ and 'data.frame':  21806 obs. of  330 variables:
 $ NPI                                                                       : int  1134691124 1124623970 1154927192 1144411422 1245836287 1376144014 1063018000 1972109916 1649792151 1275649105 ...
 $ Entity Type Code                                                          : int  2 2 2 1 2 1 2 2 2 1 ...
 $ Replacement NPI                                                           : logi  NA NA NA NA NA NA ...
 $ Employer Identification Number (EIN)                                      : chr  "<UNAVAIL>" "<UNAVAIL>" "<UNAVAIL>" "" ...
 $ Provider Organization Name (Legal Business Name)                          : chr  "SOCAL BEHAVIORAL MEDICINE" "FULL OF GREATS TRANSPORT LLC FOG TRANSPORT" "4000 MOUNT ELENA CIRCLE CORONA, CA 92882" "" ...
 $ Provider Last Name (Legal Name)                                           : chr  "" "" "" "SLAT" ...
 $ Provider First Name                                                       : chr  "" "" "" "STACY" ...
 $ Provider Middle Name                                                      : chr  "" "" "" "KING" ...
 $ Provider Name Prefix Text                                                 : chr  "" "" "" "" ...
 $ Provider Name Suffix Text                                                 : chr  "" "" "" "" ...
 $ Provider Credential Text                                                  : chr  "" "" "" "MD" ...
 $ Provider Other Organization Name                                          : chr  "SOCAL BEHAVIORAL MEDICINE" "" "" "" ...
 $ Provider Other Organization Name Type Code                                : int  3 NA NA NA NA NA NA NA 3 NA ...
 $ Provider Other Last Name                                                  : chr  "" "" "" "KING" ...
 $ Provider Other First Name                                                 : chr  "" "" "" "STACY" ...
 $ Provider Other Middle Name                                                : chr  "" "" "" "MARIE" ...
 $ Provider Other Name Prefix Text                                           : chr  "" "" "" "" ...
 $ Provider Other Name Suffix Text                                           : chr  "" "" "" "" ...
 $ Provider Other Credential Text                                            : chr  "" "" "" "M.D." ...
 $ Provider Other Last Name Type Code                                        : int  NA NA NA 1 NA NA NA NA NA NA ...
 $ Provider First Line Business Mailing Address                              : chr  "10650 REAGAN ST UNIT 824" "6609 W BROOKHART WAY" "4000 MOUNT ELENA CIR" "856 J CLYDE MORRIS BLVD STE A" ...
 $ Provider Second Line Business Mailing Address                             : chr  "" "" "" "" ...
 $ Provider Business Mailing Address City Name                               : chr  "LOS ALAMITOS" "PHOENIX" "CORONA" "NEWPORT NEWS" ...
 $ Provider Business Mailing Address State Name                              : chr  "CA" "AZ" "CA" "VA" ...
 $ Provider Business Mailing Address Postal Code                             : chr  "907208844" "850837403" "928827916" "236011318" ...
 $ Provider Business Mailing Address Country Code (If outside U.S.)          : chr  "US" "US" "US" "US" ...
 $ Provider Business Mailing Address Telephone Number                        : chr  "" "5053079984" "6269935823" "7573165800" ...
 $ Provider Business Mailing Address Fax Number                              :integer64 NA 4807187714 NA NA NA NA 9704842251 9704842251 ... 
 $ Provider First Line Business Practice Location Address                    : chr  "234 S PACIFIC COAST HWY STE 202" "6609 W BROOKHART WAY" "4000 MOUNT ELENA CIR" "120 KINGS WAY STE 3400" ...
 $ Provider Second Line Business Practice Location Address                   : chr  "" "" "" "" ...
 $ Provider Business Practice Location Address City Name                     : chr  "REDONDO BEACH" "PHOENIX" "CORONA" "WILLIAMSBURG" ...
 $ Provider Business Practice Location Address State Name                    : chr  "CA" "AZ" "CA" "VA" ...
 $ Provider Business Practice Location Address Postal Code                   : chr  "902777001" "850837403" "928827916" "231852511" ...
 $ Provider Business Practice Location Address Country Code (If outside U.S.): chr  "US" "US" "US" "US" ...
 $ Provider Business Practice Location Address Telephone Number              : chr  "3106985252" "5053079984" "6269935823" "7572535600" ...
 $ Provider Business Practice Location Address Fax Number                    :integer64 NA 4807187714 NA NA NA 8585389751 3036660911 3036660911 ... 
 $ Provider Enumeration Date                                                 : chr  "01/01/2019" "12/01/2020" "12/07/2020" "08/05/2007" ...
 $ Last Update Date                                                          : chr  "12/07/2020" "12/07/2020" "12/07/2020" "12/07/2020" ...
 $ NPI Deactivation Reason Code                                              : logi  NA NA NA NA NA NA ...
 $ NPI Deactivation Date                                                     : chr  "" "" "" "" ...
 $ NPI Reactivation Date                                                     : chr  "" "" "" "" ...
 $ Provider Gender Code                                                      : chr  "" "" "" "F" ...
 $ Authorized Official Last Name                                             : chr  "HULST" "HURT" "YOUSSEF" "" ...
 $ Authorized Official First Name                                            : chr  "GINGER" "TYRREIA" "ALICE" "" ...
 $ Authorized Official Middle Name                                           : chr  "" "S" "K" "" ...
 $ Authorized Official Title or Position                                     : chr  "CO-OWNER" "MEMBER" "OWNER" "" ...
 $ Authorized Official Telephone Number                                      :integer64 3106985252 5053079984 6269935823 NA 8626840895 NA 9704304431 9704304431 ... 
 $ Healthcare Provider Taxonomy Code_1                                       : chr  "363LF0000X" "343900000X" "172V00000X" "207V00000X" ...
 $ Provider License Number_1                                                 : chr  "" "" "" "48977" ...
 $ Provider License Number State Code_1                                      : chr  "" "" "" "CT" ...
 $ Healthcare Provider Primary Taxonomy Switch_1                             : chr  "N" "Y" "Y" "Y" ...
 $ Healthcare Provider Taxonomy Code_2                                       : chr  "207RA0401X" "" "" "" ...
 $ Provider License Number_2                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_2                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_2                             : chr  "Y" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_3                                       : chr  "" "" "" "" ...
 $ Provider License Number_3                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_3                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_3                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_4                                       : chr  "" "" "" "" ...
 $ Provider License Number_4                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_4                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_4                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_5                                       : chr  "" "" "" "" ...
 $ Provider License Number_5                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_5                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_5                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_6                                       : chr  "" "" "" "" ...
 $ Provider License Number_6                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_6                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_6                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_7                                       : chr  "" "" "" "" ...
 $ Provider License Number_7                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_7                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_7                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_8                                       : chr  "" "" "" "" ...
 $ Provider License Number_8                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_8                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_8                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_9                                       : chr  "" "" "" "" ...
 $ Provider License Number_9                                                 : chr  "" "" "" "" ...
 $ Provider License Number State Code_9                                      : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_9                             : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_10                                      : chr  "" "" "" "" ...
 $ Provider License Number_10                                                : chr  "" "" "" "" ...
 $ Provider License Number State Code_10                                     : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_10                            : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_11                                      : chr  "" "" "" "" ...
 $ Provider License Number_11                                                : chr  "" "" "" "" ...
 $ Provider License Number State Code_11                                     : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_11                            : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_12                                      : chr  "" "" "" "" ...
 $ Provider License Number_12                                                : chr  "" "" "" "" ...
 $ Provider License Number State Code_12                                     : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_12                            : chr  "" "" "" "" ...
 $ Healthcare Provider Taxonomy Code_13                                      : chr  "" "" "" "" ...
 $ Provider License Number_13                                                : chr  "" "" "" "" ...
 $ Provider License Number State Code_13                                     : chr  "" "" "" "" ...
 $ Healthcare Provider Primary Taxonomy Switch_13                            : chr  "" "" "" "" ...
  [list output truncated]
 - attr(*, ".internal.selfref")=<externalptr>

Wird es möglich sein, so etwas für data.table hinzuzufügen, um die zusätzliche Abhängigkeit zu vermeiden, die dplyr erfordert?

Ich sehe auch, dass print.data.table fast ausschließlich R-Code ist - wenn dies etwas machbares ist, ohne in C einzutauchen, kann ich es vielleicht versuchen - kann jemand eine Anleitung dazu geben? Es kann eine separate Funktion sein (viel bessere Idee) oder als Option von getOption erhältlich sein.

Ich finde str wirklich gut. Es ist vielleicht nicht so poliert wie der Blick, aber vielleicht gibt es eine Möglichkeit, es zu verbessern? Änderungen in dieser Funktion sollten ziemlich sicher sein, da ich nicht glaube, dass es vernünftige Anwendungsfälle gibt, um die Ausgabe von str zu analysieren. Seine Ausgabe ist ausschließlich von Menschen und nicht von einem Programm zu lesen. Für mich funktioniert str bereits gut genug, aber Sie können Ihre Verbesserungsideen auflisten und auf R-devel vorschlagen.

Oh, ich hatte nicht vor, Änderungen an R devel vorzuschlagen, sondern nur auf data.table zu beschränken. Im Grunde genommen eine ausgefeilte Version davon zur Verwendung in data.table ohne Abhängigkeiten zu erstellen, um bei dem oben erwähnten Anwendungsfall zu helfen. Ich habe gerade online einen kurzen Check durchgeführt, es könnte möglich sein, es in R selbst zu implementieren - wäre das etwas, das es wert wäre, in data.table integriert zu werden?

Ich verstehe, mein Punkt war sehr subjektiv. Dass str die Arbeit gut macht, lohnt sich daher möglicherweise nicht, es erneut in data.table zu implementieren. Und wenn etwas in str fehlt, könnte es dort vielleicht verbessert werden, bevor die Funktionalität in data.table dupliziert wird. Wenn R Core vorgeschlagene Änderungen nicht relevant findet und wir uns einig sind, dass sie nett zu haben sind, dann ist es ein guter Grund, sie als Teil von data.table zu implementieren.

Habe es. Die Erweiterung, die ich vorschlage, ist nur für tabellarische Daten sinnvoll. Matrizen, Vektoren und Listen würden nicht wirklich davon profitieren, daher bezweifle ich, dass sich R Core wirklich um diese Änderungen kümmern wird. Wir würden die Funktionalität nicht wirklich duplizieren, sondern sie für einen ganz bestimmten Anwendungsfall von Tabellendaten aufpolieren.

str hat eine Methode für data.frame s – was ist mit data.table , was dazu führt, dass das vorgeschlagene Update nicht für data.frame s gilt?

Kennen Sie übrigens das Argument trunc.cols für print.data.table ? zB print(data, trunc.cols=TRUE) . Die Standardeinstellung kann durch eine Option gesteuert werden; Ich denke, wir sind unentschlossen, ob wir die Standardeinstellung irgendwann ändern.

Ich bezog mich nicht auf das vorgeschlagene Update, das nicht für data.frame gilt, sondern für tabellarische Daten im Allgemeinen. Beispielsweise ( rein subjektiv ) ist es bei str sinnvoll, die Bestandteile einer Listenspalte in ihre Bestandteile zu erweitern. In meinem Anwendungsfall muss ich manchmal einen sehr oberflächlichen Blick auf mehrere breite Tabellen mit langen Spalten werfen, wie die in meinem Beispiel erwähnte, die glimpse bietet (allerdings mit den zusätzlichen Abhängigkeiten, die ich müssen installiert werden). Eine solche Änderung würde spezifische Anpassungen für data.frame s und abgeleitete Datentypen erfordern (z. B. max.levels = 1 anstelle von NA , oder das Abschneiden von Spaltennamen, wenn sie zu lang sind Daten werden in die nächste Zeile verschoben), was wahrscheinlich nicht mit dem Vorschlag einer Änderung für die R-Basis übereinstimmt.

Ich kenne das trunc.cols -Argument zum Drucken, und es ist nicht ganz das, wonach ich suche, und ich bin nicht wirklich ein Fan davon, es zum Standard zu machen - ich verstehe den Anwendungsfall in #2608 , in meinem Fall muss ich jedoch tatsächlich einen Blick auf die gesamte Tabelle werfen, da sie mehrere verschiedene interessante Spalten sowie die darin enthaltenen Datentypen enthält.

Ich habe jedoch eine Hack-y-Funktion für meinen eigenen Gebrauch erstellt, sodass diese Anfrage als adressiert betrachtet werden kann. Dies ist die Ausgabe, die es liefert (Farben, um Datentypen zu unterscheiden, nicht um sie zu identifizieren, und sehr lange Spaltennamen abschneiden, damit Daten in derselben Zeile zu sehen sind), was ich besonders nützlich für sehr breite Tabellen finde. Ich hoffe, dies klärt meinen Anwendungsfall - es ist etwas, das ohne viele zusätzliche Abhängigkeiten implementiert werden kann ( derzeit mit crayon und stringi , weil ich den leichten Mehraufwand vermeiden wollte).

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen