Dataframe Julia中缺少值的MixedModel
当响应变量缺少Dataframe Julia中缺少值的MixedModel,dataframe,julia,missing-data,mixed-models,Dataframe,Julia,Missing Data,Mixed Models,当响应变量缺少时,无法运行混合模型。 我得到错误:KeyError:找不到密钥 以前Julia可以毫无问题地运行此程序 我使用CSV.read加载数据,但下面的示例使用了一个名为languageRR包中的数据集 using DataFrames, MixedModels, GLM, RDatasets, RData, RCall, Missings, CSV #load data lexdec = rcopy(R"languageR::lexdec") #replace one value
时,无法运行混合模型。
我得到错误:KeyError:找不到密钥
以前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
如果缺少自变量(如频率),则会出现相同的错误。希望有一个解决方案可以解决这两种情况下的缺失问题。MixedModels的开发版本可以处理缺失的值。看起来它只是删除了缺少值的行。这与na相同。在R
中省略
#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
───────────────────────────────────────────────────────────────────────────────────────────────
#安装开发版本
添加https://github.com/dmbates/MixedModels.jl
julia>#运行混合模型
fm=拟合(混合模型,@公式(rt~1+类*母语*频率+试验+(1个受试者)+(1个单词)),lexdec)
线性混合模型的极大似然拟合
rt~1+Class+NativeLanguage+Frequency+Trial+Class和NativeLanguage+Class和Frequency+Class和NativeLanguage和Frequency+(1 |科目)+(1 |单词)
logLik-2 logLik AIC BIC
500.93350 -1001.86699 -977.86699 -912.90658
差异构成:
列方差标准偏差。
字(截距)0.00237210410.04870425
主题(截距)0.0166347779 0.12897588
剩余0.0290821397 0.17053486
开放式广播的数目:1658 ;;分组因素水平:79、21
固定效果参数:
───────────────────────────────────────────────────────────────────────────────────────────────
估计标准误差z值P(>z)
───────────────────────────────────────────────────────────────────────────────────────────────
(截距)6.52805 0.0594568 109.795,您可能会考虑打开命令不安装开发版本的MixEdMod问题,但是当前的发布版本,为什么我得到<代码>混合模型V2.1.2?https://github.com/dmbates/MixedModels.jl)
包装状态?这不是发布软件包显示的install withadd[pkg name]
。哦,你说得对,这确实安装了最新版本,抱歉!我已经习惯了更标准的语法]addmixedmodels#master