r - 在 R 中使用 gls 函数时出现奇点错误
问题描述
我正在使用 R 中 nlme 包中的 gls 函数将线性模型拟合到某些蛇种(因变量)以及栖息地和饮食(解释变量)的头骨形状数据。我能够成功地从中获得结果,但随后想要对结果的稳健性进行一些衡量,所以我随机排列数据的某个子集 n 次,同时在每个排列的子集上运行 gls,并记录 p-值,以便对我的结果对我的数据的随机排列子集的意义有一定的意义。这样做时,我遇到了这样的各种错误:
Error in glsEstimate(glsSt, control = glsEstControl) :
computed "gls" fit is singular, rank 7
除了在不同的运行尝试中排名不同之外,它们是相同的。
这让我感到困惑,因为在使用整个数据集时,该功能似乎正常工作。只有数据的某些子集/排列才会输出此错误,我似乎无法找到导致问题的相关性。
这是我一直在做的一个例子(但不是我的实际数据),它展示了这个问题:
#Creating fake data
Habitat<-sample(rep(c("Arboreal", "Terrestrial", "Fossorial", "Cryptozoic"), 37))
Diet<-sample(rep(c("Annelids", "Mollusks", "Reptiles", "Amphibians"), 37))
TestEco<-cbind(Habitat, Diet)
Shape<-as.matrix(rep(1, 148))
#Running robustness test
n<-100
reps=100
for (i in 1:reps) {
#Random smaller species subset and corresponding eco data
species<-sample(1:148, size=n)
subshape<-Shape[species,]
subeco<-TestEco[species,]
#Running a gls analysis with this data subset
subdata<-data.frame(coords=subshape, Habitat_Use=subeco[,1], Diet=subeco[,2])
subPGLS<-gls(coords ~ Habitat_Use+Diet, data=subdata, method="ML")
}
我真的很感激任何正确方向的指导。我也很乐意提供更多信息。
谢谢,格雷格
解决方案
推荐阅读
- plot - 绘制正态分布的概率密度函数,但 y 高于 1?
- python - 有什么方法可以在reportlab中插入圆形照片?
- angular - 在 Angular 中使用 BsDatePickerModule 的开发问题
- spring-security - 未来分配的 Azure AD B2C 不记名令牌“nbf”值
- android - 我该如何解决这个 gradle task assembleDebug 的错误
- azure - How to download artifacts from the last job execution when retrying a job in the same stage using Yaml pipelines?
- html - How can I create this figure?
- reactjs - 在安装了 Material-UI 的 Next.js 项目中导入自定义谷歌字体
- nginx - 如何在 2 个 nginx 服务器之间重定向 nginx 中的代理?
- cmake - How not to build a library if it is not used?