麻烦在R Shiny中传递output $ arg的参数

时间:2018-10-21 09:02:57

标签: r shiny

以下代码不在函数中时起作用:

inputdf <- s %>%
filter(status == 'Open', next_step_action != 'Comment') %>%
arrange(desc(created_date)) %>%
select(link,
       age,
       assignee,
       next_step,
       title,
       description,
       created_date,
       update_date,
       tags)

output$assigndt = DT::renderDataTable(inputdf,
                                    options = list(paging = FALSE, autoWidth = TRUE),
                                    escape = FALSE)

以上运行正常。 如果我尝试将其转换为函数,则无法弄清楚如何为output $ assigndt使用参数:

  dtconfig <- function(inputdf, op){
inputdf <- s %>%
  filter(status == 'Open', next_step_action != 'Comment') %>%
  arrange(desc(created_date)) %>%
  select(link,
         age,
         assignee,
         next_step,
         title,
         description,
         created_date,
         update_date,
         tags)

output$op = DT::renderDataTable(inputdf,
                                      options = list(paging = FALSE, autoWidth = TRUE),
                                      escape = FALSE)
}

dtconfig(assigned, assigndt)

inputdf arg有效,但是op参数无效。如何将参数传递给output $?

1 个答案:

答案 0 :(得分:0)

最好张贴一个 complete 示例,以便我们方便地尝试。

怎么办

output$op <<- DT::renderDataTable.....

代替

output$op = DT::renderDataTable.....

在您的职务上?那样有用吗? <<-是非本地分配。不过,我不确定这是正确的。

否则,您可能可以这样做:

dtconfig <- function(inputdf, op){
s %>%
  filter(status == 'Open', next_step_action != 'Comment') %>%
  arrange(desc(created_date)) %>%
  select(link,
         age,
         assignee,
         next_step,
         title,
         description,
         created_date,
         update_date,
         tags)
}

output$op <- DT::renderDataTable(dtconfig(assigned, assigndt),
                                      options = list(paging = FALSE, autoWidth = TRUE),
                                      escape = FALSE)

但是我不确定,因为我不知道sassigned等是什么。希望这行得通。