Pregunta

Estoy salida de una trama de datos a través de html xtable. Quiero añadir comas para los números en un par de columnas de la tabla. Me imaginé antes de que hiciera mi propia pasta de hackeo, me gustaría comprobar si hay una construida en la forma de hacerlo.

¿Fue útil?

Solución

Es posible que desee considerar la transformación de la columna usando formatC

> formatC(1:10 * 100000, format="d", big.mark=",")
 [1] "100,000"   "200,000"   "300,000"   "400,000"   "500,000"   "600,000"  
 [7] "700,000"   "800,000"   "900,000"   "1,000,000"

Otros consejos

Muchas gracias a Jonathan Chang por su respuesta. miradas formatC a ser una función muy útil. Esto me inspiró a leer la documentación de que, en el cual encontré prettyNum, que resultó ser una solución elegante a un problema bastante similares que estaba teniendo. He aquí un ejemplo viable mínimo de lo que hice para agregar puntos a los números de una trama de datos llamado enrollment.summary.

xtable(prettyNum(enrollment.summary,big.mark=","))

También puede intentar usar el argumento fuction '' format.args

  ## Demonstration of additional formatC() arguments.
  print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))

de aquí

https://cran.rstudio.com/web/packages/xtable/ xtable.pdf

Esta es una respuesta tardía, pero también se podría utilizar scales::comma_format de la siguiente manera:

library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"

Por tan sólo valores enteros, sólo se puede usar una coma:

int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"

para formatear algunos resúmenes de dplyr, aquí es código repetitivo:

df %>%
    summarise(mu=mean(big_values),
              min=min(big_values),
              max=max(big_values)) %>%
    mutate_each(funs(prettyNum(., big.mark=",")))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top