使用 Julia 语言以 csv 格式导出线性混合效应模型输出
Export Linear Mixed Effects Model Outputs in csv using Julia Language
我是 Julia
编程语言的新手,但是,我正在拟合 Linear Mixed Effects Model
并且我发现很难将 fixed
和 random
效果估计保存在.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
我是 Julia
编程语言的新手,但是,我正在拟合 Linear Mixed Effects Model
并且我发现很难将 fixed
和 random
效果估计保存在.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)
我在获得可接受的答案时遇到了很多问题;从那时起,朱莉娅有了很大的进步。我主要根据 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