在闪亮的条形图中输出R数据

在闪亮的条形图中输出R数据,r,shiny,R,Shiny,我正试图把我的数据输出到一个图表中。我从示例()中假设下面的代码是正确的,但它只是抛出错误 下面的代码将我的数据输出到表中: 如果我想在X轴上显示“开始日期”,在Y轴上显示“单击”,最简单的方法是什么 # Getting the output into a tidy dataframe content_result <- content(report) content_result[["paging"]] <- NULL result_data <- cont

我正试图把我的数据输出到一个图表中。我从示例()中假设下面的代码是正确的,但它只是抛出错误

下面的代码将我的数据输出到表中:

如果我想在X轴上显示“开始日期”,在Y轴上显示“单击”,最简单的方法是什么

  # Getting the output into a tidy dataframe
  content_result <- content(report)
  content_result[["paging"]] <- NULL
  result_data <- content_result$data
  result_data <- result_data %>% reduce(bind_rows)


  # Setting classes of variables - numerical, data, etc and putting into a frame called 'import'
  result_data$impressions <- as.numeric(result_data$impressions)
  result_data$unique_clicks <- as.numeric(result_data$unique_clicks)
  result_data$clicks <- as.numeric(result_data$clicks)
  result_data$spend <- as.numeric(result_data$spend)
  result_data$date_start <- as.Date(result_data$date_start)
  result_data$date_stop <- as.Date(result_data$date_stop)

  import <- result_data


sum_by_day <- import  %>%
    group_by(date_start) %>%
    summarise(clicks = sum(clicks), impressions = sum(impressions), spend=sum(spend)) %>%
    mutate(CPC_new=spend/clicks) %>%
    mutate(CTR_new=clicks / impressions)
#将输出放入整洁的数据框中
内容\结果您有一些错误:

  • 我以为你想在日期之后订购数据
  • 您忘记使用示例中的ui.R文件
  • barplot函数中的第一个向量完全错误。它应该是y变量
  • main
    中,需要单个字符串,而不是R变量
  • 您的闪亮架构缺失(cf.)
  • 更正的代码(此文件必须称为app.r):

    库(闪亮)
    
    日积月累谢谢你。当我把它放在一个文件中并运行应用程序时,我得到一个错误:在is.data.frame(x)中出错:找不到对象“mydata”。我假设这是因为行:choices=colnames(mydata)[-1])什么是mydata和[-1]引用?我的错。起初,我称它为mydata,而不是按天求和。将其替换为
    colnames(按天求和)[-1]
    ,它应该可以工作。
    [-1]
    从列表中删除第一列名称-在您的情况下是
    日期\u开始
    。我的意思是,用日期开始和日期开始作图是没有意义的,对吧?很高兴我明白了一切,如果它对你有用,你可以放弃它,接受它作为答案;)这很好,非常感谢…我已经盯着它看了两天了,没有任何进展。每个人都会这样。只要确保你的下一个问题组织得更好一点。许多人只看你的问题一小会儿,如果他们不明白,他们就会继续问下去。这里有一些建议:一般来说,尽早问问题——最好是在编写代码之前。这确实有助于获得更多的回复
       output$phonePlot <- renderPlot({
    
        # Render a barplot
        barplot(sum_by_day[,clicks, 
                main=clicks,
                ylab="Number of clicks",
                xlab="Year")
      })
    
        library(shiny)
    
    sum_by_day<-data.frame(date_start=17637:17643,
                       clicks=c(32,30,38,26,27,35,27),
                       impressions=c(4226,3918,2763,2913,2989,2908,2973),
                       spend =c(31.5,32.08,31.32,30.47,30.28,29.32,31.19),
                       CPC_new=c(0.98,1.07,0.82,1.17,1.12,0.84,1.16),
                       CTR_new=rep(0.01,7))
    
    
    ## ui.r
    
    ui<-fluidPage(    
    
      # Give the page a title
      titlePanel("Barplot by KPI"),
    
      # Generate a row with a sidebar
      sidebarLayout(      
    
        # Define the sidebar with one input
        sidebarPanel(
          selectInput("my_kpi", "Choose KPI:", 
                      choices=colnames(sum_by_day)[-1]),
          hr(),
          helpText("Data from AT&T (1961) The World's Telephones.")
        ),
    
        # Create a spot for the barplot
        mainPanel(
          plotOutput("phonePlot")  
        )
    
      )
    )
    
    
    ## server.r
    server<-function(input, output){
      output$phonePlot <- renderPlot({
    
        tmp<-sum_by_day[order(sum_by_day[,input$my_kpi]),input$my_kpi]
        names(tmp)
        names(tmp)<-sum_by_day$date_start[order(sum_by_day[,input$my_kpi])]
    
        # Render a barplot
        barplot(tmp,main=as.character(input$my_kpi),
                         ylab=as.character(input$my_kpi),
                         xlab="Time")
      })
    }
    
    ## deploy!
    shinyApp(ui = ui, server = server)