library(shiny)
ui <- fluidPage(
# Application title
titlePanel("Linear model DARP"),
sidebarLayout(
sidebarPanel(
selectInput('ycol', 'Select a resonse variable', names(df_ln)[c(12,13,14)],
selected=names(df_ln)[[1]]),
sliderInput(inputId = "area",
"select the service region area(km^2):",
min= 170,
max= 8000,
value=1001),
sliderInput(inputId = "crit..peak",
label="Choose Peak demand(Requests):",
min=10,
max=150,
value=40),
sliderInput(inputId ="Speed",
label = "Please selct you average Speed(mph):",
min=10,
max=50,
value = 15)
),
mainPanel(
tableOutput("table"),
h5('The data shows the fleetsize required for your selection of input variables')
)
)
)
df_ln<-read.csv("F:/Project/Programme/ML/DAR Machine Learning TR Part
A/train_darp_ln.csv")
server <- function(input, output) {
output$table <- reactive({
renderTable({
Linearmodel_DARP<-lm(input$ycol~area+crit..peak+speed,data = df_ln)
new_demand<-data.frame(area=input$area,crit..peak=input$crit..peak,speed=input$Speed)
fleetsize<-predict(Linearmodel_DARP,newdata=new_demand)
round(exp(fleetsize),0)
})
})
}
# Run the application
shinyApp(ui = ui, server = server)
请帮我反应性地应用线性模型并预测新的响应变量 从侧边栏选择的ycol数据的预测应该显示在渲染表上。在我的应用程序中,我没有得到任何东西 我没有收到任何错误,但根据选择的预测数据未在应用程序中显示
dput(head(df_ln))
structure(list(area = c(2217.7, 6537.4, 1705.5, 5634, 1260.5,
4797.7), density = c(0.13753, 0.016826, 0.18469, 0.021477, 0.25862,
0.027305), crit..CV = c(0.63954, 0.81437, 0.49909, 0.33935, 0.39148,
0.17489), crit..peak = c(49L, 26L, 41L, 20L, 39L, 18L), TW = c(21L,
47L, 54L, 48L, 17L, 41L), L = c(569L, 576L, 391L, 390L, 458L,
392L), s = c(7L, 3L, 3L, 6L, 3L, 2L), speed = c(18L, 26L, 20L,
30L, 24L, 33L), circuity = c(1.3284, 1.1494, 1.4597, 1.2725,
1.0486, 1.0792), cap = c(9L, 9L, 5L, 8L, 5L, 7L), mrt = c(1.5452,
2.3743, 1.5962, 2.6065, 2.1278, 2.6228), veh = c(4.605170186,
3.433987204, 4.718498871, 3.951243719, 4.060443011, 3.526360525
), veh.hrs = c(6.665569062, 5.523778231, 6.496186582, 5.71857256,
5.816843267, 5.256713817), veh.km = c(9.555940819, 8.781874769,
9.491918855, 9.119769942, 8.994897097, 8.753221378)), row.names = c(NA,
6L), class = "data.frame")