rhandsontable 为 Shiny 的应用程序隐藏列

标签 r dataframe shiny show-hide rhandsontable

我用

输出$hot <- renderRHandsontable(rhandsontable(DF))

得到一张 table 。

一切正常,但我想允许用户只选择某些列(使用shiny::updateSelectizeInput() 实现)。然后应在完整数据表中而不是仅在所选列中更新数据。我用谷歌搜索但只能在 java 中找到一个非常糟糕的描述。有人可以帮我解决这个问题吗?

根据要求举例:

 DF = data.frame(matrix(rnorm(20), nrow=10)) 
 rhandsontable(DF)

最佳答案

这晚了几年,我会注意到我认为这不会完全解决问题,因为它没有按照 OP 的要求使用“updateSelectizeinput()”,而且我不能正确处理选择输入正如一栏总是显示的那样,但对于任何想要开始的人来说,这里有一个例子:

library(shiny)
library(rhandsontable)

ui <- fluidPage(
  selectInput("Select", "Select", names(mtcars), multiple = T, selected = names(mtcars)),
  rHandsontableOutput("cars")
)

server <- function(input, output, session) {
  DF<-reactiveValues(DF = mtcars, Select = NULL)
  observeEvent(input$Select,{
    DF$Select <- input$Select
  })
  output$cars<-renderRHandsontable({
    rhandsontable(DF$DF, rowHeaders = NULL)%>%
      hot_cols(colWidths = ifelse(names(DF$DF) %in% DF$Select == T, 150, 0.1))
  }) 
}

shinyApp(ui, server)

它使用 0.1 作为列宽来有效地隐藏列,使原始数据框保持原状。

关于rhandsontable 为 Shiny 的应用程序隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002383/

相关文章:

r - .Internal(La_rs(x,FALSE)) 仅在 Windows 上的长(可重现)脚本后使 R 崩溃

R Holt Winters 分解错误 'no or less than 2 periods'

python - 根据另一个数据框中的值计算数据框中的值

r - 其他两列之间的唯一值列

r - 从 Shiny 的 DT 行选择中添加 react 性排名列表标签

r - MenuItem 呈现为 subItem

r - 如何在 R 的 lm() 中正确选择因变量和控件?

r - 拆分数据帧内一行中的列字符串元素

r - 如何使 Shiny 的传单 map 对输入值 R 的变化使用react

r - 在堆积的条形图中绘制不同元素之间的线