1

我对 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' 

如果有人可以帮助我,那就太好了!

4

0 回答 0