我想标记(例如粗体)使用DT包生成的数据表中的最后一行。 假设我们有一个包含虹膜数据集的表:
library(DT)
datatable(iris)
所以我们有150行,我想加粗只有150行。
修改: @BigDataScientist让我清楚这一点。我有这个:
output$tbl <-
DT::renderDataTable(
data() %>% # let's say iris data - it doesn't matter
bind_rows(summarise(data(), SUM = "SUM", A = sum(A), B = sum(B),
C = sum(C), D = sum(D),
E = sum(E), F = sum(F))) %>%
mutate(SUM = rowSums(.[2:6])),
extensions = 'Buttons',
options = list(
dom = 'Blfrtip',
lengthMenu = list(c(-1, 5, 10, 15, 20, 25), c('All', '5', '10', '15', '20', '25')),
buttons = list('copy',
list(extend = 'excel',
filename = 'report'),
list(extend = 'pdf',
filename = 'report'),
'print'),
rownames = FALSE,
server = FALSE
) %>%
formatStyle(
target = "row",
fontWeight = styleEqual(dim(.)[1], "bold")
)
)
所以,我想在最后一行添加粗体;在这种情况下,列的SUM;到这个管道,所以一切都是一个整体(一个管道)。
答案 0 :(得分:3)
如果您稍微修改一下代码,这page会对您有所帮助:
vertical-align: middle
编辑:有人要求(另外)将数据作为formatStyle(
datatable(iris), 0, target = "row",
fontWeight = styleEqual(dim(iris)[1], "bold")
)
传递给Shiny中的管道。好吧,我只能提供解决方法。我对管道并不熟悉,特别是如何传递几个参数。
reactive()
答案 1 :(得分:0)
除了BigDataScientist的回答,我还建议你看看:
答案 2 :(得分:0)
在数据表rownames = F
中禁用行名时,BigDataScientist的解决方案失败。
如果要隐藏行名并使最后一行加粗,则解决方案是无论如何都设置rownames = T
然后隐藏它们。这对我有用:
library(DT)
data <- head(iris)
datatable(data,
rownames = T, # set rownames T
options = list(columnDefs = list(list(visible = F, targets = 0)))) %>% # hide the rownames
formatStyle(0, target = "row",
fontWeight = styleEqual(dim(data)[1], "bold"))