2

我对 R 相当陌生,但到目前为止一直在设法将它用于我的硕士论文。

运行以下 GLM:

M1 <- glm.nb(abundance ~ temp * fseason * fperiod * fregion 
                       + offset(LogRSize) + offset(LogPLength) + offset(LogSLength), 
                       data = test_data)

visreg(M1, "temp", by = "fperiod")

我正在尝试使用 visreg 可视化回归,但是收到以下错误消息。我使用 visreg 来运行相同结构的模型和相同格式的数据,它运行良好 - 唯一的区别是数据集是针对不同的时间段的,所以我不确定这次有什么不同。

qr.solve(qr.R(qr.lm(object))[p1, p1]) 中的错误:
求解中的奇异矩阵“a”

    > str(test_data)
tibble [2,660 x 15] (S3: tbl_df/tbl/data.frame)
 $ abundance     : num [1:2660] 0 0 0 0 0 1 0 0 4 0 ...
 $ month         : chr [1:2660] "09" "10" "11" "09" ...
 $ season        : num [1:2660] 1 1 1 1 1 1 1 1 1 1 ...
 $ season_length : num [1:2660] 3 3 3 3 3 3 3 3 3 3 ...
 $ period        : chr [1:2660] "1" "1" "1" "1" ...
 $ period_length : num [1:2660] 10 10 10 10 10 10 10 10 10 10 ...
 $ region        : num [1:2660] 2 2 2 2 2 2 2 2 2 2 ...
 $ region_size_km: num [1:2660] 19157 19157 19157 19157 19157 ...
 $ temp          : num [1:2660] 15.38 9.51 5.03 14.99 8.99 ...
 $ fseason       : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
 $ LogSLength    : num [1:2660] 1.1 1.1 1.1 1.1 1.1 ...
 $ fperiod       : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
 $ LogPLength    : num [1:2660] 2.3 2.3 2.3 2.3 2.3 ...
 $ LogRSize      : num [1:2660] 9.86 9.86 9.86 9.86 9.86 ...
 $ fregion       : Factor w/ 10 levels "1","2","3","4",..: 2 2 2 2 2 2 2 2 2 2 ...

此处的最小可重现示例:

https://drive.google.com/drive/folders/1p3-0BqKvErtedbT2PIr0J_FKSxihg4Td?usp=sharing

4

0 回答 0