我是新手,但我正在尝试编写一个shinyapp,允许用户选择一个因变量并选择一些自变量,app会输出回归表。
目前我的代码如下所示。
ui.R
# Define UI for application
shinyUI(fluidPage(
#application title
titlePanel("Data Analysis Write-Up"),
#sidebar
sidebarLayout(
sidebarPanel(
textInput("name", label=h5("Name"), value="Name"),
HTML('</br>'),
selectInput("dv", h5("Choose a dependent variable:"),
choices = c("Female Legislators", "Literacy Rate", "Renewable Resources")),
HTML('</br>'),
checkboxGroupInput("iv", label= h5("Independent Variables"),
choices = list("GDP per capita"= 1, "Population"=2, "Poverty"=3),
selected= c(1,2,3)),
HTML('</br>'),
radioButtons('format', h5("Document Format"), c('PDF', "Word"), inline=T),
downloadButton('downloadReport')),
#main panel
mainPanel(
tabPanel("Model",
verbatimTextOutput("model"),
textInput("text_model", label = "Interpretation", value = "Enter text..."))
)
))))
server.R
shinyServer(function(input, output) {
load("/Users/KimFruge/Desktop/CPO2002Sum2016/Lectures/Writing Assignment/dat.RData")
#Dependent Variables
output$dv <- reactive({ switch(input$dv,
"Female Legislator"= SG.GEN.LSOM.ZS,
"Literacy Rate" = SE.ADT.LITR.ZS,
"Renewable Resources" = EG.ELC.RNWX.ZS)
})
#Independent Variables
x<-c("NY.GDP.PCAP.CD", "SP.POP.TOTL", "SI.POV.2DAY")
output$iv<- reactive({ x[input$iv] })
#data
temp<- reactive({
dat[, c("country", "year", output$dv, output$iv)]
})
#regression formula
regFormula<- reactive({
as.formula(paste(output$dv, '~', output$iv))
})
#Regression Model
model<- reactive ({
lm(regFormula(), data = temp())
})
#model
output$model <- renderPrint({ summary(model())})
})
})
应用程序运行,侧面板显示为我想要的但是我收到错误“不允许从shinyoutput对象读取对象”。
我已经做了一些故障排除,但我似乎无法找到产生此错误的内容。如果有人有任何关于在哪里寻找错误的建议或者产生这个错误的常见错误可能会让我非常感激!提前致谢!
注意:此项目的数据只是从世界银行指标下载。