2011-12-13 31 views
0

在解决这个问题的过程中:Interference between lme4 and nlme packages OP和I确定在lme4::lmList的调用中在log()中包装响应向量导致lmList失败。为什么log()语句会导致lmList失败?

例如,

my.lmList.model <- lmList(log(response) ~ log(predictor) | group, mydata) 

给出了回应

Error in eval(expr, envir, enclos) : object 'response' not found 

但如果你第一次登录的响应和预测变量,它工作正常,即

mydata$log.response <- log(mydata$response) 
mydata$log.predictor <- log(mydata$predictor) 
my.new.lmList.model <- lmList(log.response. ~ log.predictor | group, mydata) 

有人能解释为什么包装第一个例子中的log()中的响应不起作用?在我看来(至少在直觉上)它应该。

+0

听起来像是环境/参考问题。你是否尝试了与香草lm'相同的技巧,检查了lme4包中的详细文档等? –

回答

0

我不确定你想要什么答案。 “为什么”是因为这就是lmList设计的功能。您已经知道解决方法。你想知道如何重写lmList,让它在这种情况下不会失败吗?这不是一个简单的功能。在仔细阅读文档并查看函数以查看这是否为有意行为之后,最好编写包作者。

相关问题