找不到带有 GWmodel 对象的闪亮应用程序
Shiny apps with GWmodel object not found
我是 R 的新手,我想基于名为 GWModel 的 R 包构建我自己的 Shiny 应用程序。这是我的代码
library(shiny)
library(GWmodel)
library(sp)
ui<-shinyUI(fluidPage(
titlePanel("Model"),
sidebarLayout(
sidebarPanel(
textInput(inputId = "tanah",
label = "Luas Tanah",
value = 72),
textInput(inputId = "bangunan",
label = "Luas Bangunan",
value = 36),
textInput(inputId = "lat",
label = "Latitude",
value = -6.401150),
textInput(inputId = "long",
label = "Longitude",
value = 106.770416),
actionButton("Run_model", "Run model")
),
mainPanel(
tabsetPanel(
tabPanel("model summary", tableOutput('summary'), verbatimTextOutput('summary2'))
)
)
)))
server<- function(input,output,session){
#Train data
train.data <- read.csv("depoklagi.csv")
#Train Data SPDF
train.data.spdf <- SpatialPointsDataFrame(coords = train.data[,c("longlamudi","latlamudi")],
data = train.data[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
#Train Data DM
train.data.DM <- gw.dist(dp.locat = coordinates(train.data.spdf))
#Train Data BW (given)
train.data.bw <- bw.gwr(hrglamudi ~ ltxlamudi + lbxlamudi,
data = train.data.spdf,
approach = "CV",
kernel = "bisquare",
adaptive = T,
dMat = train.data.DM)
####################################################################################################################
#Test data compile
test.data <- reactive({
X <- as.numeric(1)
hrglamudi <- as.numeric(0)
jdllamudi <- as.character("Prediction")
ltxlamudi <- as.numeric(as.character(input$tanah))
lbxlamudi <- as.numeric(as.character(input$bangunan))
brlamudi <- as.numeric(2)
latlamudi <- as.numeric(as.character(input$lat))
longlamudi <- as.numeric(as.character(input$long))
test.data <- cbind(X,hrglamudi,jdllamudi,ltxlamudi,lbxlamudi,brlamudi,latlamudi,longlamudi)
test.data <- as.data.frame(test.data)
test.data$X <- as.numeric(test.data$X)
test.data$hrglamudi <- as.numeric(test.data$hrglamudi)
test.data$jdllamudi <- as.character(test.data$jdllamudi)
test.data$ltxlamudi <- as.numeric(as.character(test.data$ltxlamudi))
test.data$lbxlamudi <- as.numeric(as.character(test.data$lbxlamudi))
test.data$brlamudi <- as.numeric(test.data$brlamudi)
test.data$latlamudi <- as.numeric(as.character(test.data$latlamudi))
test.data$longlamudi <- as.numeric(as.character(test.data$longlamudi))
test.data
})
#Test data SPDF
test.data.spdf <- reactive({SpatialPointsDataFrame(coords = test.data()[,c("longlamudi","latlamudi")],
data = test.data()[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
test.data.spdf
})
#Test data DM
test.data.DM <- reactive({gw.dist(dp.locat = coordinates(train.data.spdf),
rp.locat = coordinates(test.data.spdf()))
test.data.DM
})
####################################################################################################################
#GWModel
model <- eventReactive(input$Run_model,{gwr.predict(hrglamudi ~ ltxlamudi + lbxlamudi + brlamudi,
data = train.data.spdf,
predictdata = test.data.spdf(),
bw = train.data.bw,
kernel = "bisquare",
adaptive = T,
dMat1 = test.data.DM(),
dMat2 = train.data.DM)
model
})
output$summary <- renderTable(test.data())
output$summary2 <- renderText(model()$SDF$prediction)
}
shinyApp(ui=ui, server=server)
当我 运行 应用程序时,它一直返回“未找到对象 'pd.locat'”,我已经阅读了 gwr.predict
Here and Here 背后的代码以获取数据 i使用
我希望成为输出的是模型的预测数字。我感谢您阅读本文并寻求解决方案。谢谢
问题出在你的反应元素上。在使 test.data
成为 test.data
的对象中,您在名为 test.data
的反应中创建一个对象,然后对其进行修改,因此您必须 return 最后的对象,这是通过调用 test.data
作为函数的最后一个元素。在创建 test.data.spdf
、test.data.DM
和 model
的反应式中,情况并非如此。在这些函数中的每一个中,您都在调用一个产生输出的函数,并且让该函数直接产生 return 输出。您不会将其保存到需要 returned 的对象中。每个响应式的最后一行是对不存在的对象的调用。如果你去掉每个 return 对象中的行(即,上面提到的三个中的每一个的最后一行),那么应用程序应该可以工作。
library(shiny)
library(GWmodel)
library(sp)
ui<-shinyUI(fluidPage(
titlePanel("Model"),
sidebarLayout(
sidebarPanel(
actionButton("browser", "browser"),
# tags$script("$('#browser').hide();"),
textInput(inputId = "tanah",
label = "Luas Tanah",
value = 72),
textInput(inputId = "bangunan",
label = "Luas Bangunan",
value = 36),
textInput(inputId = "lat",
label = "Latitude",
value = -6.401150),
textInput(inputId = "long",
label = "Longitude",
value = 106.770416),
actionButton("Run_model", "Run model")
),
mainPanel(
tabsetPanel(
tabPanel("model summary", tableOutput('summary'), verbatimTextOutput('summary2'))
)
)
)))
server<- function(input,output,session){
observeEvent(input$browser,{
browser()
})
#Train data
train.data <- read.csv("depoklagi.csv")
#Train Data SPDF
train.data.spdf <- SpatialPointsDataFrame(coords = train.data[,c("longlamudi","latlamudi")],
data = train.data[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
#Train Data DM
train.data.DM <- gw.dist(dp.locat = coordinates(train.data.spdf))
#Train Data BW (given)
train.data.bw <- bw.gwr(hrglamudi ~ ltxlamudi + lbxlamudi,
data = train.data.spdf,
approach = "CV",
kernel = "bisquare",
adaptive = T,
dMat = train.data.DM)
####################################################################################################################
#Test data compile
test.data <- reactive({
X <- as.numeric(1)
hrglamudi <- as.numeric(0)
jdllamudi <- as.character("Prediction")
ltxlamudi <- as.numeric(as.character(input$tanah))
lbxlamudi <- as.numeric(as.character(input$bangunan))
brlamudi <- as.numeric(2)
latlamudi <- as.numeric(as.character(input$lat))
longlamudi <- as.numeric(as.character(input$long))
test.data <- cbind(X,hrglamudi,jdllamudi,ltxlamudi,lbxlamudi,brlamudi,latlamudi,longlamudi)
test.data <- as.data.frame(test.data)
test.data$X <- as.numeric(test.data$X)
test.data$hrglamudi <- as.numeric(test.data$hrglamudi)
test.data$jdllamudi <- as.character(test.data$jdllamudi)
test.data$ltxlamudi <- as.numeric(as.character(test.data$ltxlamudi))
test.data$lbxlamudi <- as.numeric(as.character(test.data$lbxlamudi))
test.data$brlamudi <- as.numeric(test.data$brlamudi)
test.data$latlamudi <- as.numeric(as.character(test.data$latlamudi))
test.data$longlamudi <- as.numeric(as.character(test.data$longlamudi))
test.data
})
#Test data SPDF
test.data.spdf <- reactive({SpatialPointsDataFrame(coords = test.data()[,c("longlamudi","latlamudi")],
data = test.data()[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
})
#Test data DM
test.data.DM <- reactive({gw.dist(dp.locat = coordinates(train.data.spdf),
rp.locat = coordinates(test.data.spdf()))
})
####################################################################################################################
#GWModel
model <- eventReactive(input$Run_model,{gwr.predict(hrglamudi ~ ltxlamudi + lbxlamudi + brlamudi,
data = train.data.spdf,
predictdata = test.data.spdf(),
bw = train.data.bw,
kernel = "bisquare",
adaptive = T,
dMat1 = test.data.DM(),
dMat2 = train.data.DM)
})
output$summary <- renderTable(test.data())
output$summary2 <- renderText(model()$SDF$prediction)
}
shinyApp(ui=ui, server=server)
我是 R 的新手,我想基于名为 GWModel 的 R 包构建我自己的 Shiny 应用程序。这是我的代码
library(shiny)
library(GWmodel)
library(sp)
ui<-shinyUI(fluidPage(
titlePanel("Model"),
sidebarLayout(
sidebarPanel(
textInput(inputId = "tanah",
label = "Luas Tanah",
value = 72),
textInput(inputId = "bangunan",
label = "Luas Bangunan",
value = 36),
textInput(inputId = "lat",
label = "Latitude",
value = -6.401150),
textInput(inputId = "long",
label = "Longitude",
value = 106.770416),
actionButton("Run_model", "Run model")
),
mainPanel(
tabsetPanel(
tabPanel("model summary", tableOutput('summary'), verbatimTextOutput('summary2'))
)
)
)))
server<- function(input,output,session){
#Train data
train.data <- read.csv("depoklagi.csv")
#Train Data SPDF
train.data.spdf <- SpatialPointsDataFrame(coords = train.data[,c("longlamudi","latlamudi")],
data = train.data[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
#Train Data DM
train.data.DM <- gw.dist(dp.locat = coordinates(train.data.spdf))
#Train Data BW (given)
train.data.bw <- bw.gwr(hrglamudi ~ ltxlamudi + lbxlamudi,
data = train.data.spdf,
approach = "CV",
kernel = "bisquare",
adaptive = T,
dMat = train.data.DM)
####################################################################################################################
#Test data compile
test.data <- reactive({
X <- as.numeric(1)
hrglamudi <- as.numeric(0)
jdllamudi <- as.character("Prediction")
ltxlamudi <- as.numeric(as.character(input$tanah))
lbxlamudi <- as.numeric(as.character(input$bangunan))
brlamudi <- as.numeric(2)
latlamudi <- as.numeric(as.character(input$lat))
longlamudi <- as.numeric(as.character(input$long))
test.data <- cbind(X,hrglamudi,jdllamudi,ltxlamudi,lbxlamudi,brlamudi,latlamudi,longlamudi)
test.data <- as.data.frame(test.data)
test.data$X <- as.numeric(test.data$X)
test.data$hrglamudi <- as.numeric(test.data$hrglamudi)
test.data$jdllamudi <- as.character(test.data$jdllamudi)
test.data$ltxlamudi <- as.numeric(as.character(test.data$ltxlamudi))
test.data$lbxlamudi <- as.numeric(as.character(test.data$lbxlamudi))
test.data$brlamudi <- as.numeric(test.data$brlamudi)
test.data$latlamudi <- as.numeric(as.character(test.data$latlamudi))
test.data$longlamudi <- as.numeric(as.character(test.data$longlamudi))
test.data
})
#Test data SPDF
test.data.spdf <- reactive({SpatialPointsDataFrame(coords = test.data()[,c("longlamudi","latlamudi")],
data = test.data()[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
test.data.spdf
})
#Test data DM
test.data.DM <- reactive({gw.dist(dp.locat = coordinates(train.data.spdf),
rp.locat = coordinates(test.data.spdf()))
test.data.DM
})
####################################################################################################################
#GWModel
model <- eventReactive(input$Run_model,{gwr.predict(hrglamudi ~ ltxlamudi + lbxlamudi + brlamudi,
data = train.data.spdf,
predictdata = test.data.spdf(),
bw = train.data.bw,
kernel = "bisquare",
adaptive = T,
dMat1 = test.data.DM(),
dMat2 = train.data.DM)
model
})
output$summary <- renderTable(test.data())
output$summary2 <- renderText(model()$SDF$prediction)
}
shinyApp(ui=ui, server=server)
当我 运行 应用程序时,它一直返回“未找到对象 'pd.locat'”,我已经阅读了 gwr.predict
Here and Here 背后的代码以获取数据 i使用
我希望成为输出的是模型的预测数字。我感谢您阅读本文并寻求解决方案。谢谢
问题出在你的反应元素上。在使 test.data
成为 test.data
的对象中,您在名为 test.data
的反应中创建一个对象,然后对其进行修改,因此您必须 return 最后的对象,这是通过调用 test.data
作为函数的最后一个元素。在创建 test.data.spdf
、test.data.DM
和 model
的反应式中,情况并非如此。在这些函数中的每一个中,您都在调用一个产生输出的函数,并且让该函数直接产生 return 输出。您不会将其保存到需要 returned 的对象中。每个响应式的最后一行是对不存在的对象的调用。如果你去掉每个 return 对象中的行(即,上面提到的三个中的每一个的最后一行),那么应用程序应该可以工作。
library(shiny)
library(GWmodel)
library(sp)
ui<-shinyUI(fluidPage(
titlePanel("Model"),
sidebarLayout(
sidebarPanel(
actionButton("browser", "browser"),
# tags$script("$('#browser').hide();"),
textInput(inputId = "tanah",
label = "Luas Tanah",
value = 72),
textInput(inputId = "bangunan",
label = "Luas Bangunan",
value = 36),
textInput(inputId = "lat",
label = "Latitude",
value = -6.401150),
textInput(inputId = "long",
label = "Longitude",
value = 106.770416),
actionButton("Run_model", "Run model")
),
mainPanel(
tabsetPanel(
tabPanel("model summary", tableOutput('summary'), verbatimTextOutput('summary2'))
)
)
)))
server<- function(input,output,session){
observeEvent(input$browser,{
browser()
})
#Train data
train.data <- read.csv("depoklagi.csv")
#Train Data SPDF
train.data.spdf <- SpatialPointsDataFrame(coords = train.data[,c("longlamudi","latlamudi")],
data = train.data[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
#Train Data DM
train.data.DM <- gw.dist(dp.locat = coordinates(train.data.spdf))
#Train Data BW (given)
train.data.bw <- bw.gwr(hrglamudi ~ ltxlamudi + lbxlamudi,
data = train.data.spdf,
approach = "CV",
kernel = "bisquare",
adaptive = T,
dMat = train.data.DM)
####################################################################################################################
#Test data compile
test.data <- reactive({
X <- as.numeric(1)
hrglamudi <- as.numeric(0)
jdllamudi <- as.character("Prediction")
ltxlamudi <- as.numeric(as.character(input$tanah))
lbxlamudi <- as.numeric(as.character(input$bangunan))
brlamudi <- as.numeric(2)
latlamudi <- as.numeric(as.character(input$lat))
longlamudi <- as.numeric(as.character(input$long))
test.data <- cbind(X,hrglamudi,jdllamudi,ltxlamudi,lbxlamudi,brlamudi,latlamudi,longlamudi)
test.data <- as.data.frame(test.data)
test.data$X <- as.numeric(test.data$X)
test.data$hrglamudi <- as.numeric(test.data$hrglamudi)
test.data$jdllamudi <- as.character(test.data$jdllamudi)
test.data$ltxlamudi <- as.numeric(as.character(test.data$ltxlamudi))
test.data$lbxlamudi <- as.numeric(as.character(test.data$lbxlamudi))
test.data$brlamudi <- as.numeric(test.data$brlamudi)
test.data$latlamudi <- as.numeric(as.character(test.data$latlamudi))
test.data$longlamudi <- as.numeric(as.character(test.data$longlamudi))
test.data
})
#Test data SPDF
test.data.spdf <- reactive({SpatialPointsDataFrame(coords = test.data()[,c("longlamudi","latlamudi")],
data = test.data()[,c("hrglamudi","jdllamudi","ltxlamudi","lbxlamudi","brlamudi")],
proj4string = CRS("+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"))
})
#Test data DM
test.data.DM <- reactive({gw.dist(dp.locat = coordinates(train.data.spdf),
rp.locat = coordinates(test.data.spdf()))
})
####################################################################################################################
#GWModel
model <- eventReactive(input$Run_model,{gwr.predict(hrglamudi ~ ltxlamudi + lbxlamudi + brlamudi,
data = train.data.spdf,
predictdata = test.data.spdf(),
bw = train.data.bw,
kernel = "bisquare",
adaptive = T,
dMat1 = test.data.DM(),
dMat2 = train.data.DM)
})
output$summary <- renderTable(test.data())
output$summary2 <- renderText(model()$SDF$prediction)
}
shinyApp(ui=ui, server=server)