有哪些替代方法可以在公式中指定二项式成功/试验?

Spa*_*man 10 r formula

假设您正在对二项式数据进行建模,其中每个响应是来自多个试验(N)的一些成功(y)以及一些解释变量(a和b).有一些函数可以做这种事情,它们似乎都使用不同的方法来指定y和N.

在glm中,你做glm(cbind(y,N-y)~a+b, data = d) (LHS成功/失败的矩阵)

在inla,你做inla(y~a+b, Ntrials=d$N, data=d)(分别指定试验次数)

在glmmBUGS中,你做glmmBUGS(y+N~a+b,data=d)(指定成功+试验作为LHS的条款)

在编写新方法时,我一直认为最好遵循glm所做的,因为人们通常会首先遇到二项式响应数据.但是,我永远不会记得它cbind(y,N-y)或者cbind(y,N)- 我通常似乎在我的数据中有成功/数量的试验而不是成功/失败次数 - YMMV.

当然,其他方法也是可能的.例如,使用RHS上的函数来标记变量是试验次数还是失败次数:

myblm( y ~ a + b + Ntrials(N), data=d)
myblm( y ~ a + b + Nfails(M), data=d)  # if your dataset has succ/fail variables
Run Code Online (Sandbox Code Playgroud)

或定义一个运算符只是做一个cbind,所以你可以这样做:

myblm( y %of% N ~ a + b, data=d)
Run Code Online (Sandbox Code Playgroud)

从而为LHS增添了一些含义,使其明确.

有没有人有更好的想法?这样做的正确方法是什么?

小智 -2

来自 r 在 glm 上的帮助页面:“...或者作为两列矩阵,其中的列给出了成功失败的数量”

所以它必须是 cbind(Y, NY)

  • 这给OP的问题增加了什么?我想他已经说过了这一点。 (2认同)