朱莉娅的二项GLM – 如何指定命中和未命中

在Julia,我想用家庭二项式()和LogitLink()来计算GLM.我的数据是三个线性阵列:x值,命中数和未命中数.我想通过它们在x轴上的位置来解释二项式分布的命中和未命中.我有多个具有相同x坐标的样本(因为数据最初来自于被展平的2D数组).

在R中,我必须在双列矩阵中提供命中和未命中.类似下面的工作:

glm1< – glm(cbind(命中,未命中)~xvalues,family =二项式) 但是在Julia的GLM公式中,我无法指定任意数组.相反,我必须指定数据框中的列,而数据框列似乎不能是2D.所以我将数据放入数据帧: data = DataFrame(xvals = xvals,hits = hits,misses = missses) 并尝试了不起作用的东西(像这样): glm1 = glm(hcat(命中,未命中)~xvals,data,family =二项式,link = LogitLink()) 可以下载here的数据示例.

有什么建议?
干杯,
汉纳斯

最佳答案 虽然将数据集扩展到~100k行数据帧并不是很好,但它确实可以使它工作.要使用下面的代码,首先将数据集加载到xvals,hits和misses(在问题中链接),然后:

# spreading dataset to one row per trial...   
data = DataFrame(
    xvals = vcat(rep(xvals,hits),rep(xvals,misses)), 
    outcome = vcat(rep(1,sum(hits)),rep(0,sum(misses))))

glm1 = glm(outcome ~ xvals, data, Binomial(),LogitLink())

结果似乎与我粗略的一瞥相符.另请注意,二项式和LogicLink是位置参数,而不是命名参数.

点赞