Ошибка SPGWR: несоответствие новых строк матрицы данных

Я пытаюсь запустить код GWR с помощью spgwr в R, и у меня много трудностей. Я пытаюсь запустить гедонистическую модель в GWR, используя шейп-файл точек, который я подготовил из базы данных сделок с недвижимостью в моем городе, но я не могу запустить модель в любой заданной форме. Моя гедонистическая модель, основанная на модели множественной регрессии, экстраполируется на GWR, поскольку она считается глобальной регрессией. Он использует числовые и категориальные переменные и используется в приведенном ниже коде.

      ## Script - GWR ##

library(sp)
library(spgwr)
library(rgdal)
# Read Shape
map <- readOGR("E:/SHP/2010/ITBI_TRANS-2010_0.shp")
# Definition of the Influencing Variables
# ---------------------------
bwG_1 <- gwr.sel(map$X._M2_CORR ~ map$DIST_BRT + map$ANO_CONST + map$AREA_CONST + map$P_ACAB + map$TP_CONST + map$I_CENT, data = map, gweight = gwr.Gauss, verbose = FALSE)

gwrG_1 <- gwr(map$X._M2_CORR ~ map$DIST_BRT + map$ANO_CONST + map$AREA_CONST + map$P_ACAB + map$TP_CONST + map$I_CENT, data = map, bandwidth = bwG_1, gweight = gwr.Gauss)

#Error in gwr(map$X._M2_CORR ~ map$DIST_BRT + map$ANO_CONST + #map$AREA_CONST +  : 
#  new data matrix rows mismatch

warnings()
#Mensagens de aviso:
#1: In w.i * weights :
#  longer object length is not a multiple of shorter object length
#2: In w.i * weights :
#  longer object length is not a multiple of shorter object length
#3: In w.i * weights :
#  longer object length is not a multiple of shorter object length
# and so on

И вот образец моей карты:

      dput(head(map,10))
structure(list(X = c(602613.7621, 602317.8186, 603020.562, 603020.562, 
603020.562, 603020.562, 602861.0649, 602861.7141, 602861.7141, 
602861.7141), Y = c(7791266.152, 7790735.548, 7790894.146, 7790894.146, 
7790894.146, 7790894.146, 7790825.46, 7790821.82, 7790821.82, 
7790821.82), END_COMPLE = c("RUA ALVARO DA SILVEIRA 262 - SANTA MARGARIDA - 30640-230 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 1004 - SALA 102 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 300 - APT 1402 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 300 - APT 303 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 300 - APT 502 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 300 - APT 701 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 483 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 485 - SALA 202 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 485 - SALA 203 - BARREIRO - 30640-000 - BELO HORIZONTE - MG", 
"AVE SINFRONIO BROCHADO 485 - SALA 204 - BARREIRO - 30640-000 - BELO HORIZONTE - MG"
), END = c("RUA ALVARO DA SILVEIRA 262", "AVE SINFRONIO BROCHADO 1004", 
"AVE SINFRONIO BROCHADO 300", "AVE SINFRONIO BROCHADO 300", "AVE SINFRONIO BROCHADO 300", 
"AVE SINFRONIO BROCHADO 300", "AVE SINFRONIO BROCHADO 483", "AVE SINFRONIO BROCHADO 485", 
"AVE SINFRONIO BROCHADO 485", "AVE SINFRONIO BROCHADO 485"), 
    IDEND = c("287200262", "6611601004", "6611600300", "6611600300", 
    "6611600300", "6611600300", "6611600483", "6611600485", "6611600485", 
    "6611600485"), CEP = c("30640-230", "30640-000", "30640-000", 
    "30640-000", "30640-000", "30640-000", "30640-000", "30640-000", 
    "30640-000", "30640-000"), Bairro = c("SANTA MARGARIDA", 
    "BARREIRO", "BARREIRO", "BARREIRO", "BARREIRO", "BARREIRO", 
    "BARREIRO", "BARREIRO", "BARREIRO", "BARREIRO"), ANO_CONST = c("1994", 
    "1985", "1992", "1992", "1992", "1992", "1997", "1997", "1997", 
    "1997"), AREA_TERR = c(360, 360, 1984.58, 1984.58, 1984.58, 
    1984.58, 374.4, 374.4, 374.4, 374.4), AREA_CONST = c(167, 
    31.56, 154.65, 139.8, 139.8, 138.6, 26.95, 36.37, 39.45, 
    36.13), P_ACAB = c("P2", "P2", "P3", "P3", "P3", "P3", "P3", 
    "P3", "P3", "P3"), FRACAO_IDE = c(1, 0.07, 0.016612, 0.015017, 
    0.015017, 0.014888, 0.03103, 0.04188, 0.04543, 0.04161), 
    TP_CONST = c("LJ", "SL", "AP", "AP", "AP", "AP", "LJ", "SL", 
    "SL", "SL"), CAT_1 = c("N RES", "N RES", "RES", "RES", "RES", 
    "RES", "N RES", "N RES", "N RES", "N RES"), CAT_2 = c("MULTI", 
    "MULTI", "MULTI", "MULTI", "MULTI", "MULTI", "MULTI", "MULTI", 
    "MULTI", "MULTI"), X._TRANS = c(133222.2, 34927.2, 150783.75, 
    255000, 240000, 180000, 72000, 70000, 70000, 67000), X._M2_CORR = c(797.74, 
    1106.69, 975, 1824.03, 1716.74, 1298.7, 2671.61, 1924.66, 
    1774.4, 1854.41), ZONA_ITBI = c("ZAP", "ZCBA", "ZCBA", "ZCBA", 
    "ZCBA", "ZCBA", "ZCBA", "ZCBA", "ZCBA", "ZCBA"), IA_Z_BAIRR = c(0.212, 
    1.442, 1.442, 1.442, 1.442, 1.442, 1.442, 1.442, 1.442, 1.442
    ), IA_N_BAIRR = c(0.141, 0.198, 0.198, 0.198, 0.198, 0.198, 
    0.198, 0.198, 0.198, 0.198), I_CENT = c(0.011, 0.167, 0.167, 
    0.167, 0.167, 0.167, 0.167, 0.167, 0.167, 0.167), BRT_300m = c("0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), BRT_600m = c("0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), BRT_1200m = c("0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), BRT_1500m = c("0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), ID = c(12544L, 
    11681L, 11683L, 11684L, 11685L, 11686L, 11687L, 11688L, 11689L, 
    11690L), DIST_BARR = c(154.381151085945, 456.128361870267, 
    562.509774613338, 562.509774613338, 562.509774613338, 562.509774613338, 
    469.660249556493, 472.622402988416, 472.622402988416, 472.622402988416
    ), EST_BRT = c("TAMOIOS", "TAMOIOS", "TAMOIOS", "TAMOIOS", 
    "TAMOIOS", "TAMOIOS", "TAMOIOS", "TAMOIOS", "TAMOIOS", "TAMOIOS"
    ), DIST_BRT = c(9915.48440593417, 10468.0649384941, 9815.43514726265, 
    9815.43514726265, 9815.43514726265, 9815.43514726265, 9983.02222851471, 
    9984.77647467629, 9984.77647467629, 9984.77647467629), BARR_300m = c("1", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), BARR_600m = c("1", 
    "1", "1", "1", "1", "1", "1", "1", "1", "1"), BARR_1200m = c("1", 
    "1", "1", "1", "1", "1", "1", "1", "1", "1"), BARR_1500m = c("1", 
    "1", "1", "1", "1", "1", "1", "1", "1", "1")), row.names = c(NA, 
10L), class = "data.frame")

Похоже, это ошибка в матрице пропускной способности, которая имеет только одно значение. Я действительно не знаю, что делать дальше. Поищите на форуме, а также задайте вопрос в чате GPT, но я понятия не имею, что происходит. Буду рад любой помощи.

0 ответов

Другие вопросы по тегам