【问题标题】:can we observe output from rendertable in shiny我们可以在闪亮的情况下观察渲染表的输出吗
【发布时间】:2021-01-21 10:08:19
【问题描述】:

我有一个应用程序,它有一个反应表(基于 2 个 selectInputs)和一个图表。图的数据取自反应表。

所以图表和表格都使用相同的数据。所以在构建图表时,我可以观察表格的内容吗?

或者我应该在图表中再次阅读同一张表吗? 我的意思是我们应该在下面再给head(iris,n = as.numeric(input$rows))打电话两次吗?

例子,

library(shiny)
library(DT)
library(rAmCharts)

ui <- fluidPage(
  selectInput("rows","Rows",c(1:150)),
  dataTableOutput("input_table"),
  amChartsOutput("barplot",width = 750, height = 500)
)

server <- function(input, output, session) {
  
  output$input_table <- renderDataTable({
    new_iris <- head(iris,n = as.numeric(input$rows))
    datatable(new_iris)
  })
  
  
  
  output$barplot <-  renderAmCharts({
    new_iris1 <- head(iris,n = as.numeric(input$rows))  ## should i call this again???????? Cannot we use from rendertable?
    new_iris1 <- new_iris1 %>% group_by(Species) %>% summarise(total = sum(Petal.Length))
    pipeR::pipeline(
      amBarplot(
        x = "Species",
        y = "total",
        ylab = "X",
        xlab = "Y",
        data = new_iris1,
        labelRotation = 90
      ),
      setChartCursor()
    )
    
  })
}

shinyApp(ui, server)

【问题讨论】:

  • 您需要订阅一些响应式,请发布更多您的代码
  • 对不起。我编辑了

标签: r shiny


【解决方案1】:

您可能希望将您的数据对象放在reactive 表达式中,这样您就可以看到正在呈现的内容,就像这样,您可以稍后在您的应用中访问data()

library(shiny)
library(DT)
library(dplyr)
library(rAmCharts)

ui <- fluidPage(
  selectInput("rows","Rows",c(1:150)),
  dataTableOutput("input_table"),
  amChartsOutput("barplot",width = 750, height = 500)
)

server <- function(input, output, session) {
  
  data <- eventReactive(input$rows,{
    head(iris,n = as.numeric(input$rows))
  })

  output$input_table <- renderDataTable({
    datatable(data())
  })
  
  output$barplot <-  renderAmCharts({
    new_iris1 <- data()
    new_iris1 <- new_iris1 %>% group_by(Species) %>% summarise(total = sum(Petal.Length))
    pipeR::pipeline(
      amBarplot(
        x = "Species",
        y = "total",
        ylab = "X",
        xlab = "Y",
        data = new_iris1,
        labelRotation = 90
      ),
      setChartCursor()
    )
    
  })
}

shinyApp(ui, server)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2022-07-30
    • 2016-06-12
    • 2017-05-15
    • 2019-03-12
    相关资源
    最近更新 更多