【发布时间】:2019-08-31 11:39:15
【问题描述】:
使用以下代码可以选择data.dable 的列。
mtcars_dt <- data.table(mtcars)
selected_cols <- c("mpg")
mtcars_dt[ ,..selected_cols]
我想在闪亮的反应式表达式中做同样的事情。但是,它的行为很奇怪。这是一个可重现的示例
library(shiny)
library(data.table)
mtcars_dt <- data.table(mtcars)
ui <- basicPage(
selectInput("var", "Select variable", names(mtcars)),
textOutput("out1"),
textOutput("out2")
)
server <- function(input, output) {
output$out1 <- renderText({
mtcars[1:3 ,input$var]
})
output$out2 <- renderText({
mtcars_dt[1:3 , ..input$var]
})
}
shinyApp(ui, server)
当我运行这个应用程序时,第二个输出是一个字符串,其中包含我要选择的列的名称。
为什么会这样?我该如何解决?
【问题讨论】:
-
我会试试
mtcars_dt[1:3, input$var, with = FALSE]。 -
@StéphaneLaurent 那也不行。
标签: r shiny data.table