2016-03-26 5 views
0

私はアクションボタンを押す前に、次のエラーを取得:私は何をしないのですRun Analysis!を押した後、期待どおりactionButtonを押す前にエラーが発生しましたか?

enter image description here

すべてが動作しますか?

## app.R ## 
library(shiny) 
library(shinydashboard) 
library(dplyr) 
library(arm) 
library(texreg) 

header <- dashboardHeader() 

sidebar <- dashboardSidebar(column(3, actionButton(inputId = "go", label = "Run Analysis!"))) 

body <- dashboardBody(fluidPage(fluidRow(
    box(
    title = "Regression Table", 
    status = "primary", 
    solidHeader = TRUE, 
    width = 6, 
    uiOutput("mybayesglm") 
) 
))) 



ui <- dashboardPage(header, sidebar, body) 

server <- function(input, output) { 
    results <- reactiveValues() 

    observeEvent(input$go, { 
    # Gen fake data 
    N<-1000 
    df1 <- data.frame(v1=sample(c(0,1),N,replace = T), 
         v2=sample(c(0,1),N,replace = T), 
         Treatment=sample(c("A", "B", "C"), N, replace = T), 
         noise=rnorm(N)) %>% 
     mutate(Y=0.5*v1-0.7*v2+2*I(Treatment=="B")+3*I(Treatment=="C")+noise) 
    # Run regression 
    mybayesglm <- bayesglm(data = df1, formula = Y~Treatment+v1+v2) 
    #ouput results in a reactive list 
    results[[as.character(length(names(results)) + 1)]] <- mybayesglm 
    return(results) 
    }) #<-end observeEvent 

    output$mybayesglm <- renderUI({ 
    HTML(
     htmlreg(reactiveValuesToList(results), ci.force = TRUE, ci.force.level = .95, caption = "") 
    ) 
    }) 
    } 

shinyApp(ui, server) 
+0

あなたの問題は明らかにここにある "結果[[as.character(長さ(名(結果))+ 1)]] < - mybayesglm"。あなたはmybayesglmから何を抽出しようとしていますか? – MLavoie

+0

@MLavoie私は結果を回帰から「結果」に保存しています。このアイデアは、あなたがrunを押すたびにリストに別の要素を追加することです。その部分がうまくいけば、2回の実行を試してみると、2つの回帰がある表が得られるはずです。ありがとう! – Ignacio

答えて

0

これは、トリックを行います。

## app.R ## 
library(shiny) 
library(shinydashboard) 
library(dplyr) 
library(arm) 
library(texreg) 

header <- dashboardHeader() 

sidebar <- dashboardSidebar(column(3, actionButton(inputId = "go", label = "Run Analysis!"))) 

body <- dashboardBody(fluidPage(fluidRow(
    box(
    title = "Regression Table", 
    status = "primary", 
    solidHeader = TRUE, 
    width = 6, 
    uiOutput("mybayesglm") 
) 
))) 



ui <- dashboardPage(header, sidebar, body) 

server <- function(input, output) { 
    results <- reactiveValues() 

    observeEvent(input$go, { 
    # Gen fake data 
    N<-1000 
    df1 <- data.frame(v1=sample(c(0,1),N,replace = T), 
         v2=sample(c(0,1),N,replace = T), 
         Treatment=sample(c("A", "B", "C"), N, replace = T), 
         noise=rnorm(N)) %>% 
     mutate(Y=0.5*v1-0.7*v2+2*I(Treatment=="B")+3*I(Treatment=="C")+noise) 
    # Run regression 
    mybayesglm <- bayesglm(data = df1, formula = Y~Treatment+v1+v2) 
    #ouput results in a reactive list 
    results[[as.character(length(names(results)) + 1)]] <- mybayesglm 
    return(results) 
    }) #<-end observeEvent 

    output$mybayesglm <- renderUI({ 
    if(input$go==0) 
     return() 
    else 
    HTML(
     htmlreg(reactiveValuesToList(results), ci.force = TRUE, ci.force.level = .95, caption = "") 
    ) 
    }) 
} 

shinyApp(ui, server) 
関連する問題