diff --git a/src/MixedModels.jl b/src/MixedModels.jl index 3d2ab0494..c1cf6e242 100644 --- a/src/MixedModels.jl +++ b/src/MixedModels.jl @@ -37,6 +37,7 @@ export @formula, Gamma, GeneralizedLinearMixedModel, HelmertCoding, + IdentityLink, InverseGaussian, InverseLink, LinearMixedModel, @@ -49,6 +50,7 @@ export @formula, RaggedArray, RandomEffectsTerm, ReMat, + SqrtLink, UniformBlockDiagonal, VarCorr, aic, diff --git a/test/lexdec.rds b/test/lexdec.rds new file mode 100644 index 000000000..cff9b2602 Binary files /dev/null and b/test/lexdec.rds differ diff --git a/test/pirls.jl b/test/pirls.jl index f372b58c7..558e9b863 100644 --- a/test/pirls.jl +++ b/test/pirls.jl @@ -74,3 +74,18 @@ end #@test isapprox(sum(x -> sum(abs2, x), gm4.u), 196.8695297987013, atol=0.1) #@test isapprox(sum(gm4.resp.devresid), 220.92685781326136, atol=0.1) end + +@testset "lexdec" begin + lexdec = load(joinpath(dirname(pathof(MixedModels)), "..", "test", "lexdec.rds")) + gmldγ = fit(MixedModel, @formula(RT_raw ~ 1 + Class * NativeLanguage + (1|Subject) + (1|Word)), + lexdec, Gamma(), IdentityLink(), fast=false) + @test all(gmldγ.optsum.initial_step .> 0) + @test first(gmldγ.θ) == 0 + + # don't know how much sense this model makes, but it's a boundary fit on two + # boundaries and it uses InverseGaussian() + gmldig = fit(MixedModel, @formula(RT_raw ~ 1 + Class * NativeLanguage + (1|Subject) + (1|Word)), + lexdec, InverseGaussian(), IdentityLink(), fast=false) + @test all(gmldγ.optsum.initial_step .> 0) + @test all(gmldig.θ .== 0) +end