使用 Julia 语言以 csv 格式导出线性混合效应模型输出

Export Linear Mixed Effects Model Outputs in csv using Julia Language

我是 Julia 编程语言的新手,但是,我正在拟合 Linear Mixed Effects Model 并且我发现很难将 fixedrandom 效果估计保存在.csv 个文件。

可以找到示例代码:

using MixedModels
@time modelOutput = fit(lmm(Y~ A + B + (0 + A | group), data))

有关于如何获得固定 (fixef(modelOutput)) 和随机 (ranef(modelOutput)) 效果的可用参考,但是使用 DataFrame 我遇到了错误。

如有任何建议,我们将不胜感激。

好吧,我真的花时间为你做了这件事。 CoefTable 是在 statmodels here 中定义的类型。鉴于此信息,我们可以从 CoefTable 实例中提取相关信息,如下所示:

df = DataFrame(variable = ct.rownms,
               Estimate = ct.mat[:,1],
               StdError = ct.mat[:,2],
               z_val = ct.mat[:,3])

这将给出一个 nvar-by-4 DataFrame,然后您可以使用 writetable("output.csv",df)

将其写入 csv,如前所述

我在获得可接受的答案时遇到了很多问题;从那时起,朱莉娅有了很大的进步。我主要根据 jglmm R package 中的代码重写了它,其中一些 adaptation/cobbling-together 来自其他来源 ...

"""
    outfun(m, outfn="output.csv")

output the coefficient table of a fitted model to a file
"""
outfun = function(m, outfn="output.csv")
    ct = coeftable(m)
    coef_df = DataFrame(ct.cols);
    rename!(coef_df, ct.colnms, makeunique = true)
    coef_df[!, :term] = ct.rownms;
    CSV.write(outfn, coef_df);
end