#r #sparklines #formattable
Вопрос:
На основе фрагмента кода, как показано ниже, я могу создать таблицу форматирования с помощью спарклайн-графика:
library(sparkline)
library(tidyverse)
library(formattable)
library(kableExtra)
library(shiny)
library(htmltools)
df <- data.frame(stringsAsFactors=FALSE,
V1 = c("country", "A", "B", "C"),
V2 = c(2000L, 100L, 600L, 50L),
V3 = c(2001L, 200L, 500L, 60L),
V4 = c(2002L, 300L, 400L, 70L),
V5 = c(2003L, 400L, 300L, 80L),
V6 = c(2004L, 500L, 200L, 90L),
V7 = c(2005L, 600L, 100L, 100L)
)
df.names <- df[1,]
names(df) <- df.names
df <- df[-1,]
graph <- df %>%
group_by(country) %>%
gather(key=year, value=value, -country) %>%
summarise(graph=spk_chr(
value,
chartRangeMin = 0,
type="line"))
df2 <- left_join(df, graph, by=c("country"))
df2 %>%
formattable::format_table(
x = .,
formatters = list(
align=c("l")
)
) %>%
kable_styling("striped", full_width = F) %>%
group_rows("group1", 1, 2) %>%
group_rows("group2", 3, 3) %>%
htmltools::HTML() %>%
shiny::div() %>%
sparkline::spk_add_deps()
Я хотел бы пойти дальше, добавив градиентные цвета для года 2003, 2004, 2005
с кодом formmater следующим образом:
`2003` = color_tile("transparent", "lightgrey"),
`2004` = color_tile("transparent", "lightgrey"),
`2005` = color_tile("transparent", "lightgrey"),
Мне интересно, как я мог бы объединить код formmaters
с куском кода в начале этого поста?
Спасибо за вашу любезную помощь в продвижении.