【发布时间】:2020-01-12 04:04:37
【问题描述】:
这与另一个问题link有关。
目前我正在使用此代码为我的表格应用一些样式。
只有当值超过row 的第三个分位数时,我才需要为每个单元格着色,问题是DT 似乎不允许row 工作,只能通过column。
formattable() 工作正常,但我失去了DT 的一些有用的属性,例如使用editable=T 编辑单元格的可能性。
library(formattable)
library(DT)
dat <- as.data.frame(matrix(AirPassengers, ncol=12, byrow=T))
find_anomaly <- function(x) {
q3 <- quantile(x, 0.75)
q3
}
ftable <- formattable(dat, lapply(1:nrow(dat), function(row) {
area(row, col = 1:12) ~ formatter("span", style = x ~ ifelse(x > find_anomaly(x),
style(
display = "block",
padding = "0 4px",
"border-radius" = "4px",
"color" = csscolor("white"),
"background-color" = csscolor(
gradient(as.numeric(x),"white", "orangered"))),
NA))
}))
as.datatable(ftable, editable=T)
在这里你可以看到一切都很好,除了表格显示来自formattable() 的 HTML 一次点击:
有没有办法让formattable 生成的样式与editable=T 一起工作正常?
【问题讨论】:
标签: r dt formattable