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)
Please help me to apply reactively the linear model and predict the new response variable The prediction of the ycol data selected from sidebar should be shown on the render table And in my app I am not getting anything I am not getting any error but the predicted data as per the selection is not shown in the app
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")

dput(df_ln)so that we can try with your data. Ordput(head(df_ln))if it's enough. - Stéphane Laurent