lmer因不合格而失败
当我使用lmer因不合格而失败,r,na,lme4,R,Na,Lme4,当我使用na.pass作为na.action运行带有lme4的lmer模型时,我得到以下错误: R:NA/NaN/Inf在外部函数调用中(arg 1) 我这样运行模型: model1对a的评论试图解释,一般来说,当预测值缺失时,混合模型机器无法处理估计;它就是不能那样工作。如果您想用缺失数据拟合混合模型,则需要进行某种形式的插补,即填写缺失预测值(例如,请参阅mice软件包,至少就R生态系统而言,该软件包或多或少是最先进的)。以下是四种不同的标准na.*操作在混合模型中的作用: na.fail
na.pass
作为na.action
运行带有lme4
的lmer
模型时,我得到以下错误:
R:NA/NaN/Inf在外部函数调用中(arg 1)
我这样运行模型:
model1对a的评论试图解释,一般来说,当预测值缺失时,混合模型机器无法处理估计;它就是不能那样工作。如果您想用缺失数据拟合混合模型,则需要进行某种形式的插补,即填写缺失预测值(例如,请参阅mice
软件包,至少就R生态系统而言,该软件包或多或少是最先进的)。以下是四种不同的标准na.*
操作在混合模型中的作用:
na.fail()
:如果数据(预测值或响应)中缺少值,则立即失败。这很令人沮丧,但会立即提醒您丢失数据,并让您决定如何处理
na.omit()
:安装前从数据中删除不完整的箱子
na.exclude()
:类似于na.omit()
,但要跟踪排除案例的位置。当使用predict()
或residuals()
(或每次观察产生结果的任何函数)时,使用原始数据集中非完整案例的NA
值重建完整数据集。(我通常认为此设置是最有用的默认设置。)
na.pass
:不要删除na值,但尝试继续安装过程。正如你发现的,这通常根本不起作用!它将通过代码向下传递NA值,直到出现问题。通常,此时会发生以下两种情况之一:
如果整个估计过程是使用能够处理和传播缺失值的R函数编写的,那么对于所有系数、可能性等,通常会得到一个具有NA
/NaN
的拟合模型对象(因为缺失值污染了整个拟合过程)李>
如果估计过程的某个步骤无法处理NA
/NaN
值(如本例所示),则从过程中失败的第一个点会得到一个无法预测的错误
如果您查看na.pass()
的源代码(通过在R提示符下键入na.pass
),您会发现实际上它所做的只是返回相同的对象,没有改变。老实说,除了完整性之外,我真的不确定为什么会存在na.pass
。。。(或)
您的NA
值不在随机效应术语中使用的参数中:如果有,您将得到一条更可解释的错误消息:
库(lme4)
这是我见过/收到的一个问题的最好答案之一。谢谢你,本。
na.pass(dat)