我正在尝试在julia中运行混合效果模型(R对于我的数据来说太慢了),但我不断收到此错误。
我已经安装了DataArrays,DataFrames,MixedModels和RDatasets包,并遵循这里的教程 - > http://dmbates.github.io/MixedModels.jl/latest/man/fitting/#Fitting-linear-mixed-effects-models-1
这些是我的步骤:
using DataArrays, DataFrames , MixedModels, RDatasets
我收到这些警告
警告:方法定义==(Base.Nullable {S},Base.Nullable {T})in nullable.jl:238中的模块Base在模块NullableArrays中被覆盖 /home/home/.julia/v0.6/NullableArrays/src/operators.jl:128。警告: 模块中的方法定义model_response(DataFrames.ModelFrame) DataFrames at /home/home/.julia/v0.6/DataFrames/src/statsmodels/formula.jl:352 在模块MixedModels中覆盖 /home/home/.julia/v0.6/MixedModels/src/pls.jl:65。警告:方法 模块Base中的定义==(Base.Nullable {S},Base.Nullable {T}) nullable.jl:238在模块NullableArrays中覆盖 /home/home/.julia/v0.6/NullableArrays/src/operators.jl:128。警告: 模块中的方法定义==(Base.Nullable {S},Base.Nullable {T}) 基于nullable.jl:238在模块NullableArrays中覆盖 /home/home/.julia/v0.6/NullableArrays/src/operators.jl:128。警告: 模块中的方法定义model_response(DataFrames.ModelFrame) DataFrames at /home/home/.julia/v0.6/DataFrames/src/statsmodels/formula.jl:352 在模块MixedModels中覆盖 /home/home/.julia/v0.6/MixedModels/src/pls.jl:65。警告:方法 在模块DataFrames中定义model_response(DataFrames.ModelFrame) at /home/home/.julia/v0.6/DataFrames/src/statsmodels/formula.jl:352 在模块MixedModels中覆盖 /home/home/.julia/v0.6/MixedModels/src/pls.jl:65。
我从lme4包中获取了一个R数据集(在教程中使用)
inst = dataset("lme4", "InstEval")
julia> head(inst)
6×7 DataFrames.DataFrame
│ Row │ S │ D │ Studage │ Lectage │ Service │ Dept │ Y │
├─────┼─────┼────────┼─────────┼─────────┼─────────┼──────┼───┤
│ 1 │ "1" │ "1002" │ "2" │ "2" │ "0" │ "2" │ 5 │
│ 2 │ "1" │ "1050" │ "2" │ "1" │ "1" │ "6" │ 2 │
│ 3 │ "1" │ "1582" │ "2" │ "2" │ "0" │ "2" │ 5 │
│ 4 │ "1" │ "2050" │ "2" │ "2" │ "1" │ "3" │ 3 │
│ 5 │ "2" │ "115" │ "2" │ "1" │ "0" │ "5" │ 2 │
│ 6 │ "2" │ "756" │ "2" │ "1" │ "0" │ "5" │ 4 │
我按照教程
中的说明运行模型m2 = fit!(lmm(y ~ 1 + dept*service + (1|s) + (1|d), inst))
并获取
ERROR: UndefVarError: y not defined
Stacktrace:
[1] macro expansion at ./REPL.jl:97 [inlined]
[2] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73
当我使用DataFrames包中的“readtable”加载自己的数据时,会发生同样的事情
我正在运行julia 0.6.0并且所有软件包都是新安装的。我的系统是带有所有最新软件包的arch linux 4.11.7-1。 Julia安装没有问题,但有些软件包会发出警告(见上文)。
答案 0 :(得分:2)
使用@formula
宏:
julia> fit!(lmm(@formula(Y ~ (1 | Dept)), inst), true)
f_1: 250160.38873 [1.0]
f_2: 250175.99074 [1.75]
f_3: 250123.06531 [0.25]
f_4: 250602.3424 [0.0]
f_5: 250137.66303 [0.4375]
f_6: 250129.76244 [0.325]
f_7: 250125.94066 [0.280268]
f_8: 250121.15016 [0.23125]
f_9: 250119.12389 [0.2125]
f_10: 250114.7257 [0.175]
f_11: 250105.61264 [0.1]
f_12: 250602.3424 [0.0]
f_13: 250107.52714 [0.118027]
f_14: 250106.36924 [0.107778]
f_15: 250105.04638 [0.0925]
f_16: 250104.72722 [0.085]
f_17: 250104.93086 [0.0749222]
f_18: 250104.70046 [0.0831588]
f_19: 250104.70849 [0.0839088]
f_20: 250104.69659 [0.0824088]
f_21: 250104.69632 [0.0822501]
f_22: 250104.69625 [0.0821409]
f_23: 250104.69625 [0.0820659]
f_24: 250104.69624 [0.0821118]
f_25: 250104.69624 [0.0821193]
f_26: 250104.69624 [0.082111]
f_27: 250104.69624 [0.0821118]
f_28: 250104.69624 [0.0821117]
f_29: 250104.69624 [0.0821118]
f_30: 250104.69624 [0.0821118]
Linear mixed model fit by maximum likelihood
Formula: Y ~ 1 | Dept
logLik -2 logLik AIC BIC
-1.25052348×10⁵ 2.50104696×10⁵ 2.50110696×10⁵ 2.50138308×10⁵
Variance components:
Column Variance Std.Dev.
Dept (Intercept) 0.011897242 0.10907448
Residual 1.764556375 1.32836605
Number of obs: 73421; levels of grouping factors: 14
Fixed-effects parameters:
Estimate Std.Error z value P(>|z|)
(Intercept) 3.21373 0.029632 108.455 <1e-99
警告通常是“朱莉娅(和包装生态系统)仍在不断变化”的消息。但我想知道文档是否始终与代码保持同步。