añadir comas en serie para la salida
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.
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í
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=",")))