gpt4 book ai didi

r - 数据表 : apply different formatStyle to each column

转载 作者:行者123 更新时间:2023-12-03 20:25:27 27 4
gpt4 key购买 nike

我要申请 formatStyle函数到我表中的不同列。我可以轻松地将相同的样式应用于所有列或某些列子集,例如

divBySum <- function(x) x/sum(x)

output$test <- DT::renderDataTable(
datatable(mutate_each(mtcars, funs(divBySum)),
options = list(searching = FALSE,
paging = FALSE,
dom = 't'),
rownames = FALSE) %>%
formatStyle(colnames(mtcars),
background = styleColorBar(c(0, 1), 'lightgray'),
backgroundSize = '98% 88%',
backgroundRepeat = 'no-repeat',
backgroundPosition = 'center') %>%
formatPercentage(colnames(mtcars))
)

但是我想申请不同的 formatStyle到每一列。例如,我想将条形的最大长度定义为 styleColorBar(c(0, max(x)), 'lightgray') ,其中 x是一列,或者它们的不同颜色。

我想用一些将列名向量作为输入的函数来做到这一点。有什么好的,聪明的方法来做到这一点?

最佳答案

您可以使用 mapply为此并遍历列以添加您想要的任何颜色,这是一个示例:

data <- datatable(mtcars)    

mapply(function(column,color){
data <<- data %>% formatStyle(column,
background = styleColorBar(c(0, max(mtcars[[column]])), color),
backgroundSize = '98% 88%',
backgroundRepeat = 'no-repeat',
backgroundPosition = 'center')
},colnames(mtcars),rep_len(c("green","red","yellow"),length.out = ncol(mtcars)))

关于r - 数据表 : apply different formatStyle to each column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35795010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com