Jil*_*lum 1 datatable r shiny dt
我不太喜欢Shiny中的数据表功能,我对创建一个可列出数据表的所有列并允许用户选择要在数据表上查看的列的井面板或侧面板感兴趣。
现在,下面的代码显示玩具数据集的所有列 mtcars
library(shiny)
runApp(list(
ui = basicPage(
h2('The mtcars data'),
dataTableOutput('mytable')
),
server = function(input, output) {
output$mytable = renderDataTable({
mtcars
})
}
))
Run Code Online (Sandbox Code Playgroud)
我有兴趣向用户提供使用复选框打开或关闭这些列的功能
[1] "mpg" "cyl" "disp" "hp" "drat"
[6] "wt" "qsec" "vs" "am" "gear"
[11] "carb"
Run Code Online (Sandbox Code Playgroud)
解决这个问题的任何帮助都非常有用。提前致谢。
这是一个例子。它用于selectInput选择列,并默认显示所有列,直到您选择一个或多个特定列为止。
library(shiny)
runApp(list(
ui = basicPage(
selectInput("select", "Select columns to display", names(mtcars), multiple = TRUE),
h2('The mtcars data'),
dataTableOutput('mytable')
),
server = function(input, output) {
output$mytable = renderDataTable({
columns = names(mtcars)
if (!is.null(input$select)) {
columns = input$select
}
mtcars[,columns,drop=FALSE]
})
}
))
Run Code Online (Sandbox Code Playgroud)