あなたの例は、あなたが実行しているエラーを理解するのに十分ではありませんが、これでうまくいくはずです:
lm(as.formula(paste(input$dependent," ~ ",paste(input$independent,collapse="+"))),data=dat)
ジャンクテストは、これが動的モデルを作成できることを示しています(ただし、他の領域で少し調整が必要です):
ui.R
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("Test Shiny App"),
sidebarPanel(
selectInput("dependent", "Dependent Variable:", c("x","y","z")),
uiOutput("independent")
),
mainPanel(tableOutput("regTab"))
))
サーバー.R
library(shiny)
dat <- data.frame(x=rnorm(100),y=rnorm(100),z=rnorm(100))
shinyServer(function(input, output, session) {
output$independent <- renderUI({
checkboxGroupInput("independent", "Independent Variables:",names(dat)[!names(dat) %in% input$dependent],names(dat)[!names(dat) %in% input$dependent])
})
runRegression <- reactive({
lm(as.formula(paste(input$dependent," ~ ",paste(input$independent,collapse="+"))),data=dat)
})
output$regTab <- renderTable({
if(!is.null(input$independent)){
summary(runRegression())$coefficients
} else {
print(data.frame(Warning="Please select Model Parameters."))
}
})
})