Я выводил dataframe в html через xtable
. Я хочу добавить запятые в числа в пару столбцов таблицы. Я понял, что до того, как я сделал свой собственный взлом для взлома, я бы проверял, есть ли встроенный способ сделать это.
Добавить запятые в число для вывода
Ответ 1
Возможно, вам стоит рассмотреть возможность преобразования столбца с помощью 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"
Ответ 2
Огромное спасибо Джонатану Чангу за его ответ. formatC
выглядит чрезвычайно полезной функцией. Это побудило меня прочитать документацию для него, в которой я нашел prettyNum
, который оказался довольно элегантным решением аналогичной проблемы, с которой я столкнулся. Здесь минимально жизнеспособный пример того, что я сделал, чтобы добавить запятые к числам в кадре данных с именем enrollment.summary
.
xtable(prettyNum(enrollment.summary,big.mark=","))
Ответ 3
Вы также можете попробовать использовать аргумент fuction 'format.args'
## Demonstration of additional formatC() arguments.
print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))
отсюда
Ответ 4
Вот последний ответ, но вы также можете использовать scales::comma_format
следующим образом:
library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"
Для целочисленных значений вы можете просто использовать запятую:
int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
Ответ 5
чтобы отформатировать некоторые сводки от dplyr
, вот шаблонный код:
df %>%
summarise(mu=mean(big_values),
min=min(big_values),
max=max(big_values)) %>%
mutate_each(funs(prettyNum(., big.mark=",")))