1
我試圖根據上表中的值格式化DT。 例如,我想顯示 增加,減少或保持不變。 我可以用kable來做到這一點,但 無法進入下一步,我想要將單元格鎖住並在另一個DT中顯示與該值相關的所有數據 。根據不同數據集中的值格式化閃亮數據表(DT)的顏色
library(shiny)
library(DT)
library(dplyr)
ui <- fluidPage(
mainPanel(
dataTableOutput("iris_head")
)
)
server <- function(input, output) {
#df_data <- iris
df_data <- head(iris[-5])
# Just a dataset describing if iris has changed over a month
# If reference data is of the same size as the original data (df_data).
# If reference data is negative I want the cell in the df_data to be green;
# If zero blue and if positive then green.
# I can make changes with ranges within the current range, can we get the color encoding from another table?
# set the seed
set.seed(42)
reference_df <- (sapply(df_data, function(x) jitter(x, amount = 2)) - df_data) %>%
round(. , digits = 0)
print(reference_df)
output$iris_head <- renderDataTable(datatable(df_data, selection = "single")%>%
formatStyle('Sepal.Width',
color = styleInterval(c(3.4, 3.8), c('green', 'blue', 'red')),
backgroundColor = styleInterval(3.4, c('gray', 'yellow'))) %>%
formatString('Sepal.Width', suffix = '<font color="red">⇑ </font>'))
}
shinyApp(ui = ui, server = server)
在這種情況下的reference_df
是:
Sepal.Length Sepal.Width Petal.Length Petal.Width
2 1 2 0
2 -1 -1 0
-1 1 0 2
1 1 2 -1
1 0 2 2
0 1 -2 2
所需的輸出示於圖中,其中我還想要的顏色的文本,如果可能的話,根據在reference_df值的背景。
謝謝!對於一個很好解釋的答案。奇怪的是,有人在沒有評論的情況下低估了這個問題,考慮到它得到了這樣一個好的答案。 – discipulus