R DT:在交互式htmlwidget DT数据表中选择特定列

R DT:在交互式htmlwidget DT数据表中选择特定列,r,dt,R,Dt,我有一个数据集,假设它有两列。一列是分数,另一列是实际值。我想根据分数列给实际值列上色,然后删除分数列。我已经这样做了,但是我不能使用DT::datatable选项删除score列。记住,datatable指的是交互式界面html小部件表 ## Sample df ## df = data.frame( actual = sample(1:10), score = runif(10) ) ---------- ## Coloring breaks ## brks <

我有一个数据集,假设它有两列。一列是分数,另一列是实际值。我想根据分数列给实际值列上色,然后删除分数列。我已经这样做了,但是我不能使用
DT::datatable
选项删除score列。记住,datatable指的是交互式界面html小部件表

## Sample df  ##

df = data.frame(
    actual = sample(1:10),
    score = runif(10)
)

----------

## Coloring breaks ##

brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>%
  {paste0("rgb(255,", ., ",", ., ")")}

----------

## Generating DT ##

datatable(df) %>% formatStyle(
  'actual', 'score',
  backgroundColor = styleInterval(brks, clrs))

有一个名为
selected
的选项,但它说它适用于闪亮。
我已经读过,并且有一个
select.item
可能有效,但我可能缺少正确的语法。

解决方案是隐藏/显示列。要隐藏它们,请执行以下操作:

这是通过选项
columnDefs
完成的,该选项采用布尔值表示可见性和目标列。您可以使用向量a
c()提供多个

datatable(df) 
datatable(df, 
          options = list(columnDefs = 
                           list(
                                  list(visible=FALSE, targets=c(2))
                               )
                         )) %>% 
  formatStyle(
  'actual', 'score',
  backgroundColor = styleInterval(brks, clrs))