R语言地理加权泊松回归带宽选择遇矩阵维度不兼容错误求助
地理加权泊松回归(GWPR)带宽选择维度不兼容问题解决思路
统一数据样本数
用nrow()分别检查自变量矩阵、因变量向量、空间坐标数据的行数,确保三者完全一致。如果存在缺失值,用na.omit()对整个数据集做清洗,避免只处理部分变量导致样本数错位。修正数据预处理逻辑
如果之前做了数据筛选(比如子集化),必须对包含因变量、自变量、坐标的完整数据框操作,不能单独拆分某部分处理。例如:# 错误操作:仅筛选自变量矩阵 X <- original_data[, c("X1","X2","X3","X4")] X_filtered <- X[original_data$year == 2020, ] # 正确操作:对完整数据框筛选后再拆分变量 filtered_data <- subset(original_data, year == 2020) X <- filtered_data[, c("X1","X2","X3","X4")] Y <- filtered_data$Y coords <- cbind(filtered_data$lon, filtered_data$lat)核对GWPR函数参数
以GWmodel包的bw.gwp()函数为例,确保data参数传入的是匹配好的完整数据集,coords的行数与data行数一致。避免误将不同样本量的矩阵传入函数引发维度冲突。验证带宽选择过程
若使用交叉验证法选择带宽,确保数据没有隐性的样本不匹配(比如因子变量的水平缺失导致自动删行)。可以先运行str(clean_data)查看数据结构,确认所有变量的观测数一致。
内容的提问来源于stack exchange,提问作者金伦净
相关产品推荐
相关产品推荐

