Я практикую блестящий пакет в R. Я создавал приложение, в котором пользователь выбирает две переменные и определяет степень кривой, которая должна соответствовать соответствующей диаграмме рассеяния. Для этого я использую данные mtcars. Я использовал команду selectinput для получения переменных. Я хочу, чтобы команда sliderinput определяла степень подгонки кривой. Код вроде работает, за исключением команды sliderinput.
library(shiny)
ui <- fluidPage(
headerPanel('Fitting a curve'),
sidebarPanel(
selectInput(inputId = "xcol",label = "X-Axis",choices = names(mtcars)),
selectInput(inputId = "ycol",label = "Y-Axis",choices = names(mtcars),selected = names(mtcars)[[3]]),
sliderInput(inputId = "degree",label = "Degree of fit",min = 0,max = 2,value = 0)
),
mainPanel(plotOutput("plot1"))
)
server <- function(input,output){
x <- reactive({mtcars[,input$xcol]})
y <- reactive({mtcars[,input$ycol]})
z <- renderPrint({ifelse(input$degree==0,lm(y()~),ifelse(input$degree==1,lm(y()~x()),lm(y()~x()+x()^2)))})
output$plot1 <- renderPlot({
plot(x(),y(),col = "red")
abline(z())
})
}
shinyApp(ui = ui,server = server)
Я уверен, что в строке «z» в серверной части есть ошибка. Помогите, пожалуйста, я новичок в блестящей упаковке.