我正在尝试使用 selectInput 将 data.table 子集化到所选列,并保留其名称。到目前为止,我已经完成了:
library(data.table)
mtcars <- data.table(mtcars)
ui <- bootstrapPage(
uiOutput('variables'),
tableOutput('table')
)
server <- function(input, output) {
output$variables<- renderUI ({
selectInput('var',
label = 'select Vars:',
choices = as.list(colnames(mtcars)),
multiple = F)
})
df <- reactive({
df <- mtcars[, list(var_name=get(input$var)), ]
})
output$table <- renderTable({head(df())})
}
shinyApp(ui = ui, server = server)
输出是
但我真正想要的是列名与原始df中的相同。我尝试过没有成功的选项,例如:
df <- mtcars[, list(input$var), ]
df <- mtcars[, list(paste0(input$var)=get(input$var)), ]
但都没有给我想要的输出......有什么想法吗?提前致谢