1

我在 dplyr::mutate 中使用用户通过 UI 中的 selectInput 输入的变量创建新变量时遇到问题。

gwrdata <- eventReactive(input$rungwr, {
  sp_shape <- as(data(), "Spatial")
  bwG <- gwr.sel(formula(), data = sp_shape, gweight = gwr.Gauss, verbose = FALSE)
  gwrG <- gwr(formula(), data = sp_shape, bandwidth = bwG, 
              gweight = gwr.Gauss, hatmatrix = TRUE)
  sf_gwr <- st_as_sf(gwrG$SDF)
  bins <- 3
  browser()
  sf_gwr <- mutate(sf_gwr, parBin = cut2(sf_gwr[, input$inVar], 
                   g = bins, levels.mean = TRUE))
  sf_gwr <- mutate(sf_gwr, sigBin = cut2(localR2, g = bins, levels.mean = TRUE))
  bvColors = c("#e8e8e8", "#dfb0d6", "#be64ac", "#ace4e4",
             "#a5add3", "#8c62aa", "#5ac8c8", "#5698b9", "#3b4994")
  levels(sf_gwr$parBin) <- 1:bins
  levels(sf_gwr$sigBin) <- 1:bins
  sf_gwr <- mutate(sf_gwr, value = paste(parBin, '-', sigBin, sep = ''))
  sf_gwr
})

有两个变异函数。如果像使用localR2. 但是,使用时会sf_gwr[,input$inVar]出现以下错误。

评估错误:没有适用于“st_geometry<-”的方法应用于“list”类的对象。

这与 mutate 函数中的子集有关吗?

4

0 回答 0