【问题标题】:MixedModel with missing values in JuliaJulia 中缺少值的 MixedModel
【发布时间】:2019-11-07 22:37:19
【问题描述】:

当响应变量具有 missing 时,无法运行 MixedModel。 我得到ERROR: KeyError: key missing not found

以前 Julia 可以毫无问题地运行它。

我使用 CSV.read 加载我的数据,但下面的示例使用来自名为 languageR 的 R 包中的数据集

using DataFrames, MixedModels, GLM, RDatasets, RData, RCall, Missings, CSV

#load data
lexdec = rcopy(R"languageR::lexdec")

#replace one value with missing
lexdec.rt = recode(lexdec.RT, 6.905753 => missing)

#run mixedmodel
fm = fit(MixedModel, @formula(rt ~ 1 + Class*NativeLanguage*Frequency + Trial + (1|Subject) + (1|Word)), lexdec)

ERROR: KeyError: key missing not found
#plus a long Stacktrace

如果自变量缺失(比如频率),则会出现同样的错误。想要一个可以解决这两种情况下缺失的解决方案。

【问题讨论】:

标签: dataframe julia missing-data mixed-models


【解决方案1】:

MixedModels 的开发版本可以处理缺失值。看起来它只是删除了缺少值的行。这与R 中的na.omit 相同。

#install development version
add https://github.com/dmbates/MixedModels.jl

julia> #run mixedmodel
       fm = fit(MixedModel, @formula(rt ~ 1 + Class*NativeLanguage*Frequency + Trial + (1|Subject) + (1|Word)), lexdec)
Linear mixed model fit by maximum likelihood
 rt ~ 1 + Class + NativeLanguage + Frequency + Trial + Class & NativeLanguage + Class & Frequency + NativeLanguage & Frequency + Class & NativeLanguage & Frequency + (1 | Subject) + (1 | Word)
   logLik    -2 logLik      AIC         BIC     
   500.93350 -1001.86699  -977.86699  -912.90658

Variance components:
            Column     Variance    Std.Dev.  
Word     (Intercept)  0.0023721041 0.04870425
Subject  (Intercept)  0.0166347779 0.12897588
Residual              0.0290821397 0.17053486
 Number of obs: 1658; levels of grouping factors: 79, 21

  Fixed-effects parameters:
───────────────────────────────────────────────────────────────────────────────────────────────
                                                      Estimate   Std.Error     z value  P(>|z|)
───────────────────────────────────────────────────────────────────────────────────────────────
(Intercept)                                        6.52805      0.0594568   109.795      <1e-99
Class: plant                                      -0.0575706    0.0630526    -0.913056   0.3612
NativeLanguage: Other                              0.378076     0.0753413     5.01817    <1e-6 
Frequency                                         -0.0371412    0.00860268   -4.3174     <1e-4 
Trial                                             -0.000233949  9.0215e-5    -2.59324    0.0095
Class: plant & NativeLanguage: Other              -0.108593     0.0685904    -1.58322    0.1134
Class: plant & Frequency                           0.00893183   0.0130981     0.68192    0.4953
NativeLanguage: Other & Frequency                 -0.0398737    0.00936592   -4.25732    <1e-4 
Class: plant & NativeLanguage: Other & Frequency   0.0078122    0.014241      0.54857    0.5833
───────────────────────────────────────────────────────────────────────────────────────────────

【讨论】:

  • 那个命令安装的不是开发版,而是当前版本
  • 好吧,为什么我会得到 MixedModels v2.1.2 #master (https://github.com/dmbates/MixedModels.jl) 的 pkg 状态?这不是发布包显示使用add [pkg name] 安装的内容。
  • 哦,你是对的,它确实安装了最新版本,抱歉!我习惯了更标准的语法] add MixedModels#master
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-06-30
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
  • 2015-06-07
  • 2012-04-07
  • 2018-12-21
相关资源
最近更新 更多