我对 R 很陌生,并试图创建一个函数。但是,当我尝试运行它时,出现错误并且无法解决问题。
这是我的功能:
myfunction <- function(spatialdata,variable1,variable2,variable3){
GWRbandwidth <- gwr.sel(spatialdata$variable1 ~ spatialdata$variable2+spatialdata$variable3, data=spatialdata,adapt=T)
gwr.model <- gwr(spatialdata$variable1 ~ spatialdata$variable2+spatialdata$variable3, data = spatialdata, adapt=GWRbandwidth, hatmatrix=TRUE, se.fit=TRUE,
list(variable1 = as.name(variable1),
variable2 = as.name(variable2),
variable3 = as.name(variable3)) )
results <-as.data.frame(gwr.model$SDF)
gwr.map<- spatialdata
gwr.map@data <- cbind(spatialdata@data, as.matrix(results))
qtm(gwr.map, fill = "localR2")
}
当我尝试像这样运行它时:
myfunction(variable1 = "Low_Occupancy",
variable2 = "Qualification",
variable3 = "Unemployed",
spatialdata = OA.Census)
我收到以下错误:
Error in model.frame.default(formula = spatialdata$variable1 ~ spatialdata$variable2 + :
invalid type (NULL) for variable 'spatialdata$variable1'
如果有人可以帮助我,那就太好了!