我有一个数据帧,其中包含大量相关的列。
我想使用DT包只显示少数列。除了只允许数字引用的fixedColumns参数之外,我还没有找到更好的方法。
我遇到的问题是我只想展示第5,15和30栏。
我没有列出所有其他97列,而是尝试了以下内容:
columnDefs = list(list(visible=FALSE, targets = c(-5, -15, -30)))
显然,这无法隐藏5,15和30以外的所有列。整个代码如下。
datatable(
shared_df, rownames = FALSE, extensions = c('Buttons', 'FixedColumns'), class = 'cell-border stripe', options = list(
dom = 'Bfrtip',
scrollX = TRUE,
fixedColumns = TRUE,
columnDefs = list(list(visible=FALSE, targets = c(-1, -2, -3, -4, -5))),
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
)
任何线索?
答案 0 :(得分:0)
我解决了这个问题:
a <- 1:96
remove <- c (1, 2, 3, 4, 5, 30, 31, 32, 33)
datatable(
shared_df, rownames = FALSE, extensions = c('Buttons', 'FixedColumns'), class = 'cell-border stripe', options = list(
dom = 'Bfrtip',
scrollX = TRUE,
fixedColumns = TRUE,
columnDefs = list(list(visible=FALSE, targets = a[! a %in% remove])),
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
) %>%
formatStyle('pl_h_interni', color = 'white', backgroundColor = 'red', fontWeight = 'bold') %>%
formatStyle('nov_iznos_h_interni', color = 'white', backgroundColor = 'green', fontWeight = 'bold') %>%
formatStyle('star_iznos_h_interni', color = 'white', backgroundColor = 'gray', fontWeight = 'bold')