Стиль вопросов с использованием форматируемых - PullRequest
0 голосов
/ 13 октября 2019

Я хочу отобразить кадр данных в HTML, используя форматируемый пакет R. В таблице ниже, как добавить запятые к значениям 6100 и 7500? Обратите внимание, что я округлил значения до ближайшей сотни.

Кроме того, как мне увеличить размер шрифта и выделить жирным шрифтом всю строку в Канаде?

library(tidyverse)
library(formattable)

target_year = 1980
current_year = 2019

can_target = 20
can2019 = 37

world_target = 6123
world2019 = 7456

can_change <- (can2019 - can_target) / can_target
world_change <- (world2019 - world_target) / world_target

can_world_table <- tibble(
  region = c("Canada", "World"),
  ty = c(can_target, round(world_target, digits = -2)),
  cy = c(can2019, round(world2019, digits = -2)),
  change = percent(c(can_change, world_change), 0)
) %>% 
  set_names(c("", target_year, current_year, "Change"))


can_world_table

Ответы [ 2 ]

1 голос
/ 13 октября 2019

Вы можете добавлять запятые, используя formattable по-разному.

Один из способов заключается в добавлении к столбцам в зависимости от ситуации, используя format и big.mark, например:

ty = c(can_target, format(round(world_target, digits = -2), big.mark = ",")),
cy = c(can2019, format(round(world2019, digits = -2), big.mark = ",")),

, что даст вам следующее:

# A tibble: 2 x 4
  ` `    `1980` `2019` Change    
  <chr>  <chr>  <chr>  <formttbl>
1 Canada 20     37     85%       
2 World  6,100  7,500  22%

Затем, чтобы увеличить размер шрифта и выделить жирную строку, вы можете создать форматтер и применить к этой строке:

lg_bold <- formatter("span", style = ~style("font.weight" = "bold", "font.size" = "16px"))
formattable(can_world_table, list(area(row = 2) ~ lg_bold))

Еще одинобратите внимание: я добавил пробел в строку 1, столбец 1 вместо пустой строки, так как форматируемый файл не связывал это.

can_world_table <- tibble(
  region = c("Canada", "World"),
  ty = c(can_target, format(round(world_target, digits = -2), big.mark = ",")),
  cy = c(can2019, format(round(world2019, digits = -2), big.mark = ",")),
  change = percent(c(can_change, world_change), 0)
) %>% 
  set_names(c(" ", target_year, current_year, "Change")) # Added space for formattable

lg_bold <- formatter("span", style = ~style("font.weight" = "bold", "font.size" = "16px"))
formattable(can_world_table, list(area(row = 2) ~ lg_bold))

formattable table

0 голосов
/ 13 октября 2019

Я могу ответить на вопрос «добавить запятые к значениям» вашего вопроса.

Одна конкретная библиотека, которую я использовал в прошлом numform .

Конецрезультат имеет тип символа, поэтому он полезен, если вы планируете отображать значение, но не полезен, если вы планируете использовать его в расчетах.

> library('numform')
> v <- f_comma(c(100000,1000))
> v
[1] "100,000" "1,000"

Doco Here: https://cran.r -project.org / веб / пакеты / numform / numform.pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...