r - 使用零一膨胀 beta 回归 (zoib) 来拟合概率响应数据与 R 中的交互和单个随机项
问题描述
我正在尝试拟合一个zoib
以入住概率作为响应变量的模型,以对抗家庭收入与分类变量、饮食(例如食虫动物、食肉动物)之间的相互作用,并将物种用作随机项。这是为了探讨一个地区的物种占有概率与该地区家庭收入的关系是否因物种觅食行会/饮食类别而异。我使用zoib
是因为我有百分比数据,并且因为我的数据是 1 和 0 膨胀。
我对使用zoib
或 beta 回归没有信心,并已zoib
联系包的作者,为我提供适合模型的正确方法。
这是我正在使用的数据结构:
'data.frame': 242 obs. of 6 variables:
$ pentad : chr "2350_2940" "2350_2945" "2350_3015" "2355_2920"
$ species : chr "Common Ostrich" "Common Ostrich" "Common Ostrich"
$ occupancy : num 1 0.1717 0.2012 0.0445 1 ...
$ Diet : chr "HerbiGrani" "HerbiGrani" "HerbiGrani" "HerbiGrani"
$ urban.cover: num 39.1 31.1 25.4 21.7 32.3 ...
$ meanInc : num 73470 33968 81768 124308 277171
这是我提供的代码:
m1 <- zoib(occupancy ~ meanInc*Diet|1|meanInc*Diet|1, random = 1,
EUID = OPdat$species, zero.inflation = TRUE,
one.inflation = TRUE, data = OPdat, n.iter=50,
n.thin=20, n.burn=50)
这是我得到的错误:
关节错误。1z01(y,n,q,xmu.1,p.xmu,xsum.1,p.xsum,x0.1,p.x0,:找不到对象'x1.1'
日记对zoib
我来说很难理解。谁能帮我理解这个错误?什么是对象 x1.1?任何其他适合此模型的建议/包也将不胜感激。
解决方案
从“详细信息”部分?zoib::zoib
:
在公式的右侧,它最多可以包含以下顺序的 5 个部分:xb | xd | x0 | x1 | z,其中 xb 表示 beta 分布均值的链接函数中的固定效应协变量/因子,xd 表示 beta 分布的两个形状参数之和的链接函数中的固定效应协变量/因子, x0 表示 Pr(y=0) 的链接函数中的固定效应协变量/因子,x1 表示 Pr(y=1|y>0) 的链接函数中的固定效应协变量/因子,z 表示随机效应协变量/因素。
我猜|1
您在 RHS 末尾
需要另一个,即meanInc*Diet|1|meanInc*Diet|1|1
,以便您指定:
- 条件均值模型:
meanInc*Diet
- 分散模型:(
1
平凡/常数) - 零通胀模型:
meanInc*Diet
- 一次通货膨胀模型:(
1
平凡/恒定) - 随机效应模型:(
1
可变截距)[这是我添加的部分]
我相信这个brms
包装也适合 ZOIB/Z01B 型号。
推荐阅读
- sql - 如何使用 FOR JSON 编写下面提到的表结构和 JSON 输出的 SQL 查询
- javascript - 奇怪的班级成员
- admob - Admob 横幅,如何仅在主页上显示
- java - 为我的应用创建管理员
- sublimetext3 - 在 SublimeText 3 中设置状态消息的位置
- javascript - 如何使用 jquery 或 javascript 实现 while(focused_textarea)
- php - 带有 cookie 和多个条件的 htacces (if, else)
- html - 将垂直图表制作成水平图表CSS3
- javascript - 如何将数组中的对象分组为javascript中多个数组的3个对象?
- android - 如何删除 android SearchView 组件中的底线?