解决 GWPR/PLM 重复对错误

问题描述 投票:0回答:1

我正在尝试运行地理加权面板回归模型,如下所示。 但是我不断收到重复 ID 的错误。

     bw.GWPR(formula = formula1, data = finalprepostdataset3,
                    SDF = finalprepostdataset_sp,
                    index = c("county_id", "season"),
                    adaptive = TRUE, approach = "AIC",
                    p = 2, effect = "twoways", model = "within",
                    doParallel=T, cluster.number=4,
                    kernel = "bisquare", longlat = FALSE, bigdata = T)
Error in { : task 1 failed - "duplicate couples (id-time)


finalprepostdataset_sp
finalprepostdataset3
的空间副本。我阅读了指南来解决这个问题(我的理解是它源自
plm
处理面板数据的方式),但我仍然遇到错误。更清楚地说,我可以成功运行此代码:

plm(
  formula=formula1,
  data=finalprepostdataset3,
  effect = "time",
  model = "within",
  index = c("county_id", "season"),
)

并且:

any(table(index(finalprepostdataset3$county_id, finalprepostdataset3$season), useNA = "ifany")!=1)
FALSE

据我所知,没有重复。

但是第一个代码无法运行。

如有任何帮助,我们将不胜感激。由于人们对

plm
的熟悉而在此发帖。

r gis plm
1个回答
0
投票

如果没有可重现的例子,很难说清楚。 函数

bw.GWPR
似乎源于包
GWPR.light
plm
来自包
plm
,这两个函数都没有在问题中指出。

如果您

plm
语句成功运行且没有警告,那么您的数据中应该不会出现观测单位 (
county_id
) 和时间维度 (
season
) 的重复组合。

但是,要进行检查,您需要在测试中省略

index
函数(或在 pdata.frame 上使用
index
(而不是变量))

any(table(index(<your_pdata.frame>), useNA = "ifany")!=1)
any(table(finalprepostdataset3$county_id, finalprepostdataset3$season, useNA = "ifany")!=1)
© www.soinside.com 2019 - 2024. All rights reserved.