R 将输入存储为数值,以生成三个表
我想创建一个大表,以便在一个闪亮的应用程序中在该表之后创建一些表 这是我的R 将输入存储为数值,以生成三个表,r,shiny,shiny-server,R,Shiny,Shiny Server,我想创建一个大表,以便在一个闪亮的应用程序中在该表之后创建一些表 这是我的服务器的一部分。R: function(input, output) { output$year <- renderText(input$year) ################################ # CONFLICTING PART OF THE CODE year <- reactive({ as.character(input$year)
服务器的一部分。R
:
function(input, output) {
output$year <- renderText(input$year)
################################
# CONFLICTING PART OF THE CODE
year <- reactive({
as.character(input$year)
})
matrix = tbl_df(dbReadTable(rca_matrices_db, reactive(paste0("table_",year))))
################################
my_table = matrix %>% ... BLA BLA BLA
output$more_than_10 <- DT::renderDataTable(DT::datatable({
mytable %>% select(X1,X2) %>% filter(X1 > 10)
}))
output$less_than_10 <- DT::renderDataTable(DT::datatable({
mytable %>% select(X1,X2) %>% filter(X1 < 10)
}))
}
)
如果我在server.R
的冲突部分替换
year <- 2000
year问题是
matrix = tbl_df(dbReadTable(rca_matrices_db, reactive(paste0("table_",year))))
它不是反应性的。它不会在反应年份发生变化时更新。此外,正如评论中已经指出的,要调用反应性年份的值
,需要使用year()
。因此,您也需要将我的_表设置为反应式,可能如下所示:
my_table <- reactive({
my_matrix = tbl_df(dbReadTable(rca_matrices_db, reactive(paste0("table_",year()))))
my_table = my_matrix %>% ... BLA BLA BLA
return (my_table)
})
这将在反应式mytable()
发生变化时随时更新,正如我们刚才注意到的那样,“input$year”发生了变化。希望这有帮助 您好,请尝试使用year()
而不是year
中的paste0…
您好,谢谢,我尝试过,但问题仍然存在:这很复杂,因为我想添加更多用户可选参数。这可能有助于进行响应式查询,谢谢!!动态创建一个通用表,现在我无法从中创建更小的表,因为错误“无法将类型“closure”强制为类型“character”的向量,这是一个新问题,您可以将其作为堆栈溢出的新问题发布吗?如果没有其他人看过的话,我可以在家里看一看。非常感谢!!我已经做到了。。。现在我将开始回复纯R问题,这就是我所知道的,问题就在这里
my_table <- reactive({
my_matrix = tbl_df(dbReadTable(rca_matrices_db, reactive(paste0("table_",year()))))
my_table = my_matrix %>% ... BLA BLA BLA
return (my_table)
})
output$more_than_10 <- DT::renderDataTable(DT::datatable({
mytable() %>% select(X1,X2) %>% filter(X1 > 10)
}))