在R Datatable中,它们是有条件地向数字添加加号的一种方法吗?
我的表中有一列是百分比变化,所以我希望它显示为正或负。问题是我仍然希望它是可排序的,所以它需要是数字而不是字符串 我假设可以在datatable格式中为0以上的任何内容添加一个加号,但无法根据文档找出加号。我需要第四列前面有一个加号/减号。这是我的出发点:在R Datatable中,它们是有条件地向数字添加加号的一种方法吗?,r,datatables,formatting,dt,R,Datatables,Formatting,Dt,我的表中有一列是百分比变化,所以我希望它显示为正或负。问题是我仍然希望它是可排序的,所以它需要是数字而不是字符串 我假设可以在datatable格式中为0以上的任何内容添加一个加号,但无法根据文档找出加号。我需要第四列前面有一个加号/减号。这是我的出发点: datatable(temp,rownames=F,options = list(dom='t'))%>% formatStyle("Change", backgroundColo
datatable(temp,rownames=F,options = list(dom='t'))%>%
formatStyle("Change",
backgroundColor = styleInterval(c(-.10,-.075, -.05, -.025,-.0175, 0,.0175, .025, .05, .075, .10),
c('#f79539','#fab83e','#f7e38f','#fffcc9','#fffee6', '#ffffff','#ffffff','#fffee6','#fffcc9','#f7e38f','#fab83e', '#f79539' ))) %>%
formatPercentage(c(2:4), 2)
使用
渲染:
library(DT)
render <- c(
"function(data, type, row) {",
" if(type === 'display') {",
" var sign = data > 0 ? '+' : '-';",
" return sign + data;",
" } else {",
" return data;",
" }",
"}"
)
df <- data.frame(
Val = c("A", "B"),
x = c(-1, 1)
)
datatable(df,
options = list(
columnDefs = list(
list(targets = 2, render = JS(render))
)
)
)
库(DT)
渲染看起来,当我在其上使用formatPercentage时,它会覆盖渲染的使用。它们是通过渲染实现格式百分比的一种方法吗?我不熟悉该代码,因此不知道如何进行更改。@bpheazyereturn sign+data+'%'代码>谢谢Stephane!为了让以后发现这一点的人完全模拟formatPercentage函数,请使用tofixedrender