平均分类数据的系列/链接

问题描述 投票:0回答:1

我有一些分类数据,在观察级别编码为 0/1。我对试验中的这些值进行了平均,这为我提供了 0 到 1 之间的概率值。

我在模型中使用

family = Gamma(link = identity)
(连续)和
family = binomial(link = logit)
在 R 中运行 GLME,但是对于平均分类数据我正在努力。

有些平均值的值为 0,这意味着我无法使用伽玛族/身份链接;而由于我们有超过 2 个唯一值,因此我们不能使用二项式族/logit 链接。

我知道我可以在不指定系列/链接的情况下运行LME,但是由于与数据链接的预注册过程,我必须运行GLME。

这是我正在使用的数据和代码的示例

datafile <- structure(list(
  depvar= c("0.00000000", "0.02197802", "0.37948718", "0.00000000", "0.15789474",  "0.00000000", "0.00000000", "0.18181818", "0.07142857", "0.00000000", "0.06060606", "0.94366197"), 
  window = c("window", "window", "window", "nowindow", "nowindow", "nowindow", "window", "window", "window", "nowindow", "nowindow", "nowindow"),
  trial_sound = c("quiet", "standard", "deviant", "quiet", "standard", "deviant", "quiet", "standard", "deviant", "quiet", "standard", "deviant"),
item = c (1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6),
pp = c (1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2)),
  .Names = c("depvar","window", "trial_sound", "item", "pp"),
  row.names = c(NA, -12L),
  class = "data.frame")

depvar.glmer1 = glmer(depvar ~ window*trial_sound + (1+ window*trial_sound|pp) + 
(1+ window*trial_sound|item),control=glmerControl(optimizer="bobyqa",optCtrl=list(maxfun=20000)),
 data = datafile, family= Gamma(link = "identity"))

任何可能对我有帮助的建议和参考/资源将非常感激!

r lme4
1个回答
0
投票

处理这些数据的自然方法是使用二项式,并使用

weights
参数指定每个观察的试验次数。例如,假设我们有
depvar = c(1/5, 2/6, 0/3, 7/7)
(=
c(0.2, 0.3333, 0, 1)
ntrial = c(5, 6, 3, 7)
,那么我们将拟合模型

glmer(depvar ~ ..., weights = ntrial, family = binomial, ...)

(logit 链接是二项式族的默认链接)。这可以满足您想要的一切:

  • 处理恰好为 0 和 1 的值
  • 自然地以 0/1 为界,就像数据一样
© www.soinside.com 2019 - 2024. All rights reserved.