【问题标题】:R shiny output text not displayingR闪亮的输出文本不显示
【发布时间】:2018-03-28 00:55:30
【问题描述】:

我有两个数据框,一个用于创建 wordcloud,一个用于提供数字输出。

 d<- word    freq
      save  42
     earth  14
     life   14
     aug    12
    name    11
    wate    11
   group    10
   email    9
  ignore    6
  please    6


   DF4d<- word    freq
           save  4
           earth  1
           life   1
           aug    1
          name    1
          wate    1
         group    1
          email   9
          ignore  6
          please  6

接下来我将 UI 设置如下,以显示基于 da 的 wordcloud 以及基于 DF4 导出的数字输出

    ui<- fluidPage(
    textInput("e-mailSubject", label = "SubjectLine",placeholder = 
          "'"),actionButton("do", "Click Me"),
      numericInput("Audience Size", label = "Target Audience Size", value = 
             c(10000000)),
     dateInput("Date",label = "Date of Campaign"),
     mainPanel(plotOutput("Plot1"), textOutput("Output1")))

服务器包含基于 DF4 和 d 的输入。

  server<-function(input, output, session) {
  output$Plot1 <- renderPlot({
  set.seed(1234)
  wordcloud(words = d$word, freq = d$freq, min.freq = 1,
          max.words=200, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(8, "Dark2"))   })
      output<-renderText(text2<-reactive({input$e-mailSubject
      mycorpus2<-Corpus(VectorSource(text2))
      mycorpus2<-tm_map(mycorpus2, tolower)
      mycorpus2<-tm_map(mycorpus2, removeNumbers)
      mycorpus2<-tm_map(mycorpus2, removeWords, c(stopwords("english")))

     dtm2<-TermDocumentMatrix(mycorpus2)
     m2<-as.matrix(dtm2)
     v2 <- sort(rowSums(m2),decreasing=TRUE)
     d2 <- data.frame(word = names(v2),freq=v2)

     outputtable<-DF4[DF4$variable%in%d2$word,]
    outputresult<-sum(outputtable$sum.estimate.)
    return(outputresult)
    }))
        }
   shinyApp(ui, server)

我得到了 wordcloud。当我在输入框中输入一个句子并按下点击我按钮时,我应该得到输出结果。没有错误信息。但我没有得到任何结果。我不确定我的错误在哪里。我请求有人在这里帮助我。输出应该是数字

【问题讨论】:

    标签: r shiny output


    【解决方案1】:

    我会发表评论,但由于声誉问题还不能发表评论 - 下次请提供可重现的示例。 (wordcloud等需要额外的包,我不知道,所以无法成功运行你的代码)。

    我怀疑问题在于您的textOutput("Output1") 根本没有出现在server 中。试试这个,而不是 ... 部分:

      text2 <- reactive({
        input$e - mailSubject
        mycorpus2 <- Corpus(VectorSource(text2))
        mycorpus2 <- tm_map(mycorpus2, tolower)
        mycorpus2 <- tm_map(mycorpus2, removeNumbers)
        mycorpus2 <-
          tm_map(mycorpus2, removeWords, c(stopwords("english")))
    
        dtm2 <- TermDocumentMatrix(mycorpus2)
        m2 <- as.matrix(dtm2)
        v2 <- sort(rowSums(m2), decreasing = TRUE)
        d2 <- data.frame(word = names(v2), freq = v2)
    
        outputtable <- DF4[DF4$variable %in% d2$word, ]
        outputresult <- sum(outputtable$sum.estimate.)
        return(outputresult)
      })
    
    
      output$Output1 <- renderText(text2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2018-07-14
      • 2017-08-08
      • 2021-09-02
      • 2018-03-23
      • 2017-04-07
      • 2016-01-28
      相关资源
      最近更新 更多