Data.table: Varias mejoras en print.data.table

Creado en 6 feb. 2016  ·  63Comentarios  ·  Fuente: Rdatatable/data.table

Lista de tareas actual:

  • [x] 1. Agregue el archivo .Rd para print.data.table
  • [x] 2. Posibilidad de desactivar los números de fila [1) desde [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) - Yike Lu; manejado en [este] (https://github.com/Rdatatable/data.table/commit/ac2180ef17b8a46245261349f05f5967318407cf) compromiso, 12 de noviembre de 2013]
  • 3. Posibilidad de desactivar el envoltorio de mesa inteligente [2) de #645/RF#1957 - Yike Lu]
  • [x] 4. Capacidad para forzar la impresión de todas las entradas [3) de [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) - Yike Lu; manejado en [este] (https://github.com/Rdatatable/data.table/commit/a82bfff820d77fbb7ba445e65972e059e036f5150) compromiso, 14 de septiembre de 2012]
  • [ ] 5. Capacidad para demarcar by -agrupaciones [4) de [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) - Yike Lu]
  • [ ] 6. Demarcación del borde de la tabla [parte de 5) de [#645/RF#1957](https://github.com/Rdatatable/data.table/issues/645) - Yike Lu]
  • 7. Demarcación de columnas clave [parte de 5) de #645/RF#1957 - Yike Lu]
  • [x] 8. Opción fungible de si se imprimen los números de fila [[#1097](https://github.com/Rdatatable/data.table/issues/1097) - @smcinerney]
  • [x] 9. Opciones para determinar si/cuáles registros de nombres de columna imprimir [[#1482](https://github.com/Rdatatable/data.table/issues/1482) - [Oleg Bondar en SO](http: //stackoverflow.com/questions/34511495/how-to-disable-data-table-names-at-the-bottom)]
  • [x] 10. Opción para dplyr -como la impresión [ver más abajo - @MichaelChirico]
  • [ ] 11. Facilidades para vista compacta de datos _a la_ dplyr tbl_df [#1497 - @nverno; #2608 - @vlulla]
  • [ ] 12. Opción para especificar un carácter de truncamiento [#1374 - @jangorecki]
  • [x] 13. Manejo de data.table con nombre vacío [[#545/RF#5253](https://github.com/Rdatatable/data.table/issues/545) - @arunsrinivasan]
  • [x] 14. Mejorar la impresión de list /columnas no atómicas [ver a continuación - @franknarf1 a través de [SO](https://stackoverflow.com/questions/47679701/r-data-table-why- son-valores-de-lista-concatenada-perdida); también #605; manejado en #2562]
  • [x] 15. Las columnas POSIXct con zonas horarias deben incluir esa información en la salida impresa [#2842 - @MichaelChirico]
  • [x] 16. Limite el número de columnas impresas para tablas muy anchas (es decir, donde print.data.table excedería max.print )

Algunas notas

3 (presentado pendiente de aclaración)

Tal como lo entiendo, este problema es una solicitud para evitar que la salida de la consola se ajuste (es decir, para forzar que todas las columnas aparezcan paralelas, independientemente del ancho de la tabla).

Si ese es el caso, esto es (AFAICT) imposible, ya que es algo que hace RStudio/R mismo. Por mi parte, ciertamente no conozco ninguna forma de alterar este comportamiento.

Si alguien _sabe_ de una manera de afectar esto, o si cree que estoy malinterpretando, por favor, hable y podemos solucionar esto.

7

Como yo lo veo, hay dos opciones aquí. Una es tratar todas las columnas clave de la misma manera; la otra es tratar las claves secundarias, terciarias, etc. por separado.

Salida de ejemplo:

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

Y, por supuesto, agregue una opción para decidir si demarcar con | o algún otro carácter elegido por el usuario ( * , + , etc.)

9 [HECHO]

Algunos comentarios de un PR cerrado que fue un primer intento de resolver esto:

De Arun con respecto a las opciones preferidas:

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

"auto" : comportamiento actual

"top" : solo arriba, data.frame -me gusta

"none" : sin nombres de columnas -- excluye las filas en las que se habrían impreso los nombres de las columnas.

10 [HECHO]

Sería bueno tener una opción para imprimir una fila debajo de la fila de nombres de columna que proporcione el tipo almacenado de cada columna, ya que actualmente (entiendo) es el valor predeterminado para la salida de las operaciones dplyr .

Ejemplo de 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      

La mejor alternativa actual es hacer sapply(DF, class) , pero es bueno tener una vista previa de los datos con esta información adicional.

11

Esto parece estar estrechamente relacionado con 3. El plan actual es implementar esto como una alternativa a 3 ya que parece más tangible/factible.

Vía @nverno :

¿Sería útil para head.data.table tener una opción para imprimir solo el encabezado de las columnas que se ajustan al ancho de la pantalla y resumir el resto? Estaba imaginando algo así como la salida impresa de la cabeza de tbl_df en dplyr . Creo que es bueno para tablas con muchas columnas.

y el ejemplo guía de Arun:

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

12

Actualmente cubierto por el PR #1448 de @jangorecki ; Jan, asumiendo que #1529 se fusiona primero, ¿podrías editar la página de manual print.data.table para tu PR?

enhancement non-atomic column

Comentario más útil

Como una extensión de @fparages ' https://github.com/Rdatatable/data.table/pull/3500 (que aborda el elemento de visualización de la zona horaria en el OP de este problema/hilo), sería bueno admitir también el tz siendo impreso en el encabezado de la clase, <POSc:-07:00> o <POSc:PDT> , y no en la columna (para ahorrar espacio horizontal), por ejemplo, cuando class=tz=TRUE.

Todos 63 comentarios

¡Sólo brillante!

No tengo idea sobre 3 y 5 (en cuanto a lo que significan).
Creo que un PR para 6 sería bueno (parece sencillo por lo que Jan escribió allí). ¿Quizás ?print.data.table es la parte que consume mucho tiempo? ¿Crees que estarías dispuesto a esto, @MichaelChirico ?
Tampoco tengo idea de lo que significa 7 ...
8 es otra gran idea. Relaciones públicas sería genial!

Sería muy bueno si Github permitiera asignar tareas a proyectos que no son necesariamente miembros :-(.

@arunsrinivasan , ¿debería intentar hacer relaciones públicas de este problema a la vez? ¿O de golpe? Tengo 8 básicamente solucionados, solo necesito agregar pruebas.

Michael, relaciones públicas separadas.

¡Muy agradable! Lamento responderte tarde sobre esto, pero Arun proporcionó un buen ejemplo. Es simplemente una buena comodidad cuando se miran tablas con muchas columnas de forma interactiva para que su consola no se vea envuelta en un gran volcado de datos cuando mira la cabeza. Cerraré ese otro.

También sería bueno imprimir:

Clave primaria:
índices secundarios:,etc..

por defecto. Definitivamente es informativo saber cuáles son las claves y los índices secundarios.

Además, creo que este es un mejor resultado para:

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 más fácil copiar/pegar la tabla de datos sin las clases en el camino. Si podemos hacer eso, podemos activar la impresión de clases de forma predeterminada.

¿Pensamientos?

@arunsrinivasan sobre la impresión de claves:

  • ¿No es ese el punto de tables() ? (aunque TBH casi nunca uso esta función) Por cierto tables , en la medida en que sea útil, podría optar por una actualización para agregar una columna secondary_indices ...
  • ¿No consideras esto subsumido por el punto # 7 aquí? Vea este chat (interrumpido en el medio) entre Frank y yo sobre las posibilidades de llenar el n.° 7. O tal vez le gustaría reemplazar el punto n.° 7 con su idea. ¿Qué piensas?

Aproximadamente class :

Esto se puede hacer, pero requerirá un paso de discusión, básicamente toprint <- rbind(rownames(toprint), toprint); rownames(toprint) <- abbs . Lo cual está bien, solo tengo curiosidad por saber por qué estás pensando en copiar y pegar más fácilmente como una clara ventaja. No estoy seguro del costo de incluir class información en la salida copiada y pegada. Feliz de escuchar comentarios.

Acerca class : -- copiar y pegar desde SO, por ejemplo, para proporcionar entrada a fread() . También me resulta más fácil sin la separación entre el nombre de la columna y el valor (solo estaba acostumbrado a verlo).

Sobre la impresión de claves:

  • Sí, pero lo da para _todas_ las tablas, lo cual es útil en sí mismo. Pero si me gustaría ver solo las claves retenidas después de una operación de unión, no necesariamente quiero echar un vistazo a la clave de todas las tablas.
  • No creo que el punto 7 (dibujar líneas) funcione bien ... ya que no puede (AFAICT) decir el orden de las columnas clave ... Pero afirmando:

Clave primaria:

dice claramente que la primera columna clave es "a", luego "b"..

¿Esto aclara un poco las cosas?

Acepto que a tables() le vendría bien una actualización.

@arunsrinivasan OK, creo que puedo estar de acuerdo con eso. Puede deshacerse del punto # 7 entonces. Estoy de acuerdo en distinguir el orden clave de un vistazo iba a ser difícil. Entonces, ¿qué tal:

  • Si una tabla tiene una clave, digamos c("key1", "key2") , imprima lo siguiente arriba de la salida de print.data.table :
keys: key1, key2
  • Si no hay clave, imprima:
keys: <unkeyed>
  • La impresión del índice secundario es opcional, pero si se activa, será inferior a keys _a la_:
Secondary indices: key2.1, key2.2, ...
                   key3.1, key3.2, ...

Por último, propongo enviar esta salida a través message para ayudar a distinguirla visualmente de la propia data.table .

Mi sugerencia sería esta:

  1. Si alguno de estos atributos no está presente, no los imprima. Creo que la gente aprenderá rápidamente que no hay teclas configuradas (si no se muestra).
  2. Dado que puede haber más de 1 índice secundario, sugiero que el formato sea:

Teclas:(solo uno)
Índices secundarios:,,, ...
Si hay más de 'x' (¿5 para empezar?) índices, use un "...". Siempre pueden acceder a él usando key2() .

No me importa que "<>" sea reemplazado por "" si eso fuera más agradable estéticamente... por ejemplo, "col1, col2", "col1", etc.

Última propuesta: parece agradable, pero me pregunto si podría crear problemas con knitr cuando las personas suprimen 'mensajes' en fragmentos... ¿e imprimen el resultado?

Sería genial tener esto y class=TRUE por defecto para v1.9.8 ya... ya veremos.

Otro pensamiento:

Mucha gente usa el tipo "numérico" cuando un tipo entero sería suficiente, y cuando "integer64" encajaría mejor. ¿Qué tal marcar esas columnas de alguna manera mientras se imprime?

en vez de, quizás >num< ?? eso permitirá que las personas también estén al tanto de tales optimizaciones.

O "!num!"? Hay una función isReallyReal que verifica esto. Pero esto tal vez lleve demasiado tiempo ejecutarlo en todas las filas cada vez.

@arunsrinivasan Hmm, creo que definitivamente no es algo para usar como parte del valor predeterminado de print.data.table .

Algunas reflexiones iniciales:

  • Podría agregar una opción para hacerlo y una función complementaria ( check_num_cols o similar) que ejecuta esto en una tabla de entrada y escupe las columnas candidatas.
  • Podría hacer esto solo la primera vez: tener algún tipo de variable global asociada con cada data.table en la memoria que usamos para activar la evaluación
  • Podría tener esto como parte de la salida estándar (o verbose ) de fread (ya que imagino que ahí es donde se crean la mayoría de los data.table en general. Supongo que setDT es la otra gran fuente.

¿Estás pensando en impulsar 1.9.8 pronto?

Oh, una cosa más, ¿qué opinas sobre portar print.data.table a su propio archivo .R?

Hm, sí, olvidemos el marcado de columnas por ahora.

Sobre impulsar 1.9.8: intentar en la medida de lo posible solucionar los otros problemas marcados lo más rápido posible. Me gustaría trabajar en uniones no equitativas para esta versión.

En print.data.table para separar el archivo, claro, suena bien.

@arunsrinivasan solo advierte que establecer class = TRUE como valor predeterminado está causando cientos de errores en las pruebas

Ok gracias, echare un vistazo.

@arunsrinivasan nvm, a primera vista, es mucho, pero manejable. Tiene que arreglar ~ 25 pruebas. Trabajando ahora...

¡Estupendo! Sin prisa Tome su tiempo.

No estoy realmente convencido de cambiar el valor predeterminado en la clase de impresión. No lo encuentro útil en print , uso str para ver clases (en dplyr, por alguna razón, tienen una función de visualización para ese propósito).
¿No es mejor que print de forma predeterminada solo imprima los datos y use str para imprimir clases y claves/índices?

Estoy de acuerdo con @jangorecki en que es preferible el valor predeterminado class=FALSE. Valoro el espacio de mi pantalla y, por lo general, no necesito recordatorios sobre las clases de las columnas. Lo mismo ocurre con las claves y los índices. Me gustan estas funciones, pero espero que estén desactivadas de forma predeterminada.

Gracias por tu contribución. Creo que es útil. A menos que haya una razón sólida (+ voto) en contra de esto, me gustaría intentarlo. Tal vez muchos otros lo prefieran.

Tal vez podamos poner las claves/índices en espera. Pero no creo que 1 fila para los tipos de clase le quite espacio a la pantalla.

@MichaelChirico , ¿podemos hacer FALSO el argumento de las 'claves' para este lanzamiento? Tal vez podamos encenderlo en el próximo viendo cómo va este.

@arunsrinivasan seguro. Manejaremos esto después de que solucionemos la actualización a class .

Estoy de acuerdo con Frank en que tenerlo de forma predeterminada puede ser una sobrecarga de información... tal vez haya un término medio (solo imprimir clase si ha habido un cambio en la clase de alguna columna, por ejemplo).

De todos modos, feliz de darle un giro a la configuración class = TRUE por defecto.

¿Tenemos algún script que se pueda ejecutar para verificar paquetes que dependan de data.table? Pregunto porque potencialmente cualquier paquete que pruebe la salida con Rout - Rout.save (o capture.output - Tengo 2 de esos paquetes que no son CRAN) podría romperse después de cambiar la impresión predeterminada. Es valioso ejecutar dichas pruebas antes y después para ver el impacto con precisión. Luego, dependiendo del porcentaje de paquete CRAN afectado, sería mejor decidir.

@jangorecki , buen punto. class=FALSE entonces por ahora. Volveré sobre estos temas más adelante. No es importante por ahora.

¿Algún plan para una versión minimalista de la clave de impresión con el prefijo de estrella * ? u otro bonito símbolo ascii? algo como:

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

Sería mi preferido.

@jangorecki Estoy bien de cualquier manera, pero la resistencia que surgió con un enfoque como ese es que algunas personas también prefirieron ver el orden clave, por ejemplo:

#    *site **date     x

En cualquier caso, si se implementara, yo: establecería * como predeterminado y dejaría una opción para hacer lo que quieras.

@MichaelChirico Por un lado, los inicios múltiples están bien, pero ¿si tuviera 20 columnas en clave? Tal vez una sola estrella solo si el orden de las columnas clave es el mismo que el de las columnas de datos, para mí eso sería en ~99% de los casos.

hasta 3 elementos hay números ascii:

#    ¹*site ²*date     x

@MichaelChirico sobre 3) arriba, uno puede usar las opciones globales de R:

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 gracias por la entrada!

En RStudio, al menos, no veo una diferencia en la salida después de haber hecho eso.

@MichaelChirico Deberías ver la diferencia. Tratar

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

RStudio envuelve la salida de la consola y no ofrece ninguna opción para deshabilitar esta "característica"; mientras que la consola base R se desborda sin envolver hasta que options()$width. De cualquier manera, deberías ver una diferencia. Intente cambiar el tamaño de la ventana de su consola para ver el ajuste en acción.

Podría ser útil agregar un argumento format opcional similar a knitr::kable() o type en ascii::print() para generar markdown, pandoc, rst, textile, (etc.) y formatos de tabla compatibles con el modo org?

A menudo uso fragmentos como estos para pegar resultados en correos electrónicos y documentos de organización o rebajas:

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 no está muy convencido de la utilidad de agregar esto a print.data.table cuando ascii::print y knitr::kable ya parecen hacer un buen trabajo...

Acordado. También votaría por una producción mínima, pero si planea proporcionar opciones de impresión más sofisticadas, entonces tendría sentido usar un formato de tabla que pandoc pueda procesar.

Una cosa menor, pero podría ser una buena idea exportar print.data.table. Solo noté que estaba oculto al escribir args(print.data.table) en este momento.

@ franknarf1 ¿ algún otro motivo? tenemos ?print.data.table ahora y args(data.table:::print.data.table) tenemos eso cubierto. Estaba a punto de presentar la exportación en un PR, pero me detuve. No creo que sea raro que los métodos print estén ocultos (ver print.lm / print.glm en la base, por ejemplo)

@MichaelChirico No. No es un problema no exportado como dices; gracias por preguntar.

Otra idea: una opción dput = TRUE , que escribirá código reproducible (ya que dput(DT) no funciona). Algo como

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"))
)

... excepto menos hacky e incrustado en print.data.table . Supongo que si dput = TRUE , todos los demás pueden ignorarse. Poniéndose elegante, tal vez permita dput = "file.txt" como lo hace dput() . Me imagino que tiene suficiente sentido ponerlo en print , y no vale la pena agregar una nueva función.

Otra idea similar a las del n.º 645: desactivar el truncamiento inteligente de la visualización de la columna de la lista: ejemplo de SO .

Veo este truncamiento con bastante frecuencia y, en algunos casos, sería bueno ver la impresión como si la columna v de la lista fuera sapply(v, toString) .

@ franknarf1 creo que una solución muy fácil estaría aquí :

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

cambiar "" a "..." . ¿Qué piensas? Me gusta toString , pero también debería venir con un parámetro predeterminado width , no estoy seguro de cómo hacerlo de manera sólida.


en realidad, releyendo toString.default :

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
}

Parece que la forma predeterminada de manejar width es similar a la que se implementa actualmente. Creo que limitar la salida según el ancho de la pantalla en lugar de truncar los primeros elementos es mejor, ¿no?

Este enfoque también permite una mejor interacción con el usuario, ya que toString está S3 ; nosotros (o los usuarios finales) podemos escribir/personalizar métodos de toString.* para cualquier caso de uso que surja. Tal vez agregue un parámetro colWidth a print.data.table que se colocaría en width de toString.default ...

@MichaelChirico Un punto a favor del "," final sobre un ",..." es que ahorra espacio horizontal. No obstante, parece un buen cambio, ya que la mayoría de los usuarios no adivinarán qué significa "," .

En lugar de ese cambio, estaba más interesado en imprimir una mayor cantidad de entradas en lugar de 6 en head(x, 6) , como su idea colWidth.

Con respecto a los métodos, encontraría un argumento como formatters = list(character = function(x) toString(x), lm = function(x) x$qr$tol) fácil de usar (para usar en las columnas de la lista siempre que cada elemento coincida con la clase nombrada o sea NULL). No estoy seguro si eso es lo que quisiste decir.

Pensé en dejar una mención de # 2893 aquí ya que los dos parecen estar estrechamente relacionados.

(Similar a mi último comentario...) Tener una tabla de datos como...

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>

Realmente no puedo leer el contenido de la columna de mi lista, aunque hay un método de impresión para ello.

Sería bueno tener una forma de decirle a data.table cómo quiero que se imprima una columna de lista de una determinada clase, como...

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

El usuario podría pasar esa lista en options(datatable.print.formatters = formatters) . Para reducir la carga computacional, supongo que esto se haría después de filtrar con nrows= y topn= .

(Si quiero sugerir una adición a esta lista, ¿la agrego aquí o la agrego como un problema discreto?)

puedes simplemente agregarlo aquí. siéntase libre de editar la publicación inicial pero también incluya una
comenta con alguna exposición por favor

El lunes, 4 de febrero de 2019, 10:19 HughParsonage

(Si quiero sugerir una adición a esta lista, ¿la agrego aquí o la agrego
como un problema discreto?)


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/Rdatatable/data.table/issues/1523#issuecomment-460113509 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AHQQdd5pO_1tQjE7BL_B2i2dGeRN4p5yks5vJ5jNgaJpZM4HUz9_
.

Cuantos menos puntos se definan en el alcance, más fácil será fusionar un PR para ello. Definitivamente tiene sentido separar los puntos que pueden resultar en un cambio radical (si lo hay) de aquellos para los que el comportamiento predeterminado no cambiará.

Sin embargo, esto no se hará en un solo PR, sino uno por uno.

El lunes, 4 de febrero de 2019 a las 12:23 p. m., Jan Gorecki < [email protected] escribió:

Cuantos menos puntos se definan en el alcance, más fácil será fusionar un PR para ello.
Definitivamente tiene sentido separar puntos que pueden resultar en ruptura
cambiar (si los hay) de aquellos para los que el comportamiento predeterminado no cambiará.


Estás recibiendo esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/Rdatatable/data.table/issues/1523#issuecomment-460127326 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AHQQdeNB5EZPMn44zsIfag--2jsQwZTyks5vJ7WmgaJpZM4HUz9_
.

Como una extensión de @fparages ' https://github.com/Rdatatable/data.table/pull/3500 (que aborda el elemento de visualización de la zona horaria en el OP de este problema/hilo), sería bueno admitir también el tz siendo impreso en el encabezado de la clase, <POSc:-07:00> o <POSc:PDT> , y no en la columna (para ahorrar espacio horizontal), por ejemplo, cuando class=tz=TRUE.

^ relacionado: #2842

¡Que sería increíble!

hola a todos, no sé si les importa, pero noté un error en print.data.table(col.names="none") cuando hay muchas columnas. código mínimo es:

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

la salida en mi sistema es:

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
$ 

Puede ver en el resultado anterior que los nombres de las columnas V22 a V30 están impresos, pero esperaba que no lo estuvieran. Lo que esperaba:

> 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
> 

¿Hay alguna posibilidad de agregar un equivalente de dplyr::glimpse (no lo veo en la lista)? Si bien ciertamente puedo usar dplyr para este propósito, tendré que instalar un montón de dependencias para obtener la función. A continuación se destaca un caso de uso (nota: descarga ~4 MB al sistema).

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")

El método predeterminado de $#$ data.table print da una salida muy larga que no es realmente útil para comprender el contenido del archivo.

Ver salida

> 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"...

En mi opinión, este último ofrece un resumen del conjunto de datos que resulta útil, desde la comprensión de los contenidos y los nombres de las columnas de los datos. Tenga en cuenta que este no es un conjunto de datos que se puede reducir melt . Podría usar str como alternativa, pero no se imprime muy bien, es decir, los datos de una sola columna se muestran en la siguiente fila de la consola (no se ve aquí), por ejemplo:

Ver salida

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>

¿Será posible agregar algo como esto para data.table para evitar la dependencia adicional que requiere dplyr ?

También veo que print.data.table es casi en su totalidad código R; si esto es algo factible sin profundizar en C, podría intentarlo. ¿Alguien puede brindar alguna orientación al respecto? Puede ser una función separada (una idea mucho mejor) o estar disponible como una opción desde getOption .

Creo que str es realmente bueno. Puede que no esté tan pulido como se vislumbra, pero ¿quizás haya una posibilidad de mejorarlo? los cambios en esta función deberían ser bastante seguros porque no creo que haya casos de uso razonables para analizar la salida de str . Su salida es estrictamente para ser leída por humanos y no por un programa. Para mí str ya funciona bastante bien, pero puede enumerar sus ideas para mejorar y proponer en R-devel.

Oh, no estaba planeando proponer ningún cambio en el desarrollo de R, solo restringirlo a data.table . Básicamente, crear una versión pulida para usar en data.table sin dependencias para ayudar con el caso de uso mencionado anteriormente. Acabo de hacer una verificación rápida en línea, podría ser posible implementarlo en R mismo. ¿Sería algo que valdría la pena integrar en data.table ?

Entiendo, mi punto fue muy subjetivo. Ese str hace el trabajo muy bien, por lo tanto, podría no valer la pena volver a implementarlo en data.table. Y si falta algo en str , tal vez podría mejorarse allí antes de duplicar la funcionalidad en data.table. Si R core encuentra que los cambios sugeridos no son relevantes, y estamos de acuerdo en que es bueno tenerlos, entonces será una buena razón para implementarlos como parte de data.table.

Entendido. La mejora que propongo solo tiene sentido para los datos tabulares. Matrices, vectores y listas realmente no se beneficiarían de esto, por lo que dudo que R core realmente se preocupe por estos cambios. Realmente no estaríamos duplicando la funcionalidad, sino puliéndola para un caso de uso muy específico de datos tabulares.

str tiene un método para data.frame s -- ¿qué pasa con data.table hace que la actualización propuesta no se aplique a data.frame s?

Por cierto, ¿conoces el argumento trunc.cols de print.data.table ? por ejemplo print(data, trunc.cols=TRUE) . El valor predeterminado se puede controlar mediante una opción; Creo que estamos indecisos sobre si cambiar el valor predeterminado en algún momento.

No me refería a la actualización propuesta que no se aplica a data.frame , sino a los datos tabulares en general. Por ejemplo ( puramente subjetivo ), en str , tiene sentido expandir los componentes de una columna de lista en sus constituyentes. En mi caso de uso, a veces debo echar un vistazo muy superficial a varias tablas anchas con columnas largas, como la mencionada en mi ejemplo, que proporciona glimpse (aunque con las dependencias adicionales que necesita instalar). Tal tipo de modificación requeriría ajustes específicos para data.frame s y tipos de datos derivados (por ejemplo, max.levels = 1 en lugar de NA , o truncar los nombres de las columnas si son demasiado largos para que el los datos se mueven a la siguiente línea), lo que probablemente no concuerde con sugerir un cambio para la base R.

Conozco el argumento trunc.cols para imprimir, y no es exactamente lo que estoy buscando, y no soy realmente un fanático de convertirlo en el predeterminado; entiendo el caso de uso en # 2608 , sin embargo, en mi caso, necesito echar un vistazo a toda la tabla porque contendrá varias columnas de interés diferentes, así como los tipos de datos que contiene.

Sin embargo, seguí adelante y creé una función hack-y para mi propio uso, por lo que esta solicitud puede considerarse atendida. Esta es la salida que proporciona (colores para diferenciar los tipos de datos, para no identificarlos y truncar nombres de columnas muy largos para que los datos se puedan ver en la misma línea), que encuentro particularmente útil para tablas muy anchas. Espero que esto aclare mi caso de uso: es algo que se puede implementar sin muchas dependencias adicionales ( actualmente uso crayon y stringi porque quería evitar el pequeño esfuerzo adicional).

¿Fue útil esta página
0 / 5 - 0 calificaciones