我開始編寫一個函數,它可以與nlme
建立線性混合模型。我遇到一個錯誤:Error in eval(expr, envir, enclos) : object 'value' not found
,我認爲這是由於R不知道在哪裏找到數據幀變量(例如,value
)。如果這實際上是錯誤發生的原因,那麼我如何知道value
和timepoint
屬於Dat
中變量(在下面的可重現代碼中)的函數?lme模型的用戶定義函數擬合:錯誤
require(nlme)
Dat <- data.frame(
id = sample(10:19),
Time = sample(c("one", "two"), 10, replace = T),
Value = sample(1:10)
)
nlme_rct_lmm <- function (data, value, timepoint,
ID) {
#base_level intercept only model
bl_int_only <- gls(value ~ 1,
data = data,
method = "ML",
na.action="na.omit")
#vary intercept across participants
randomIntercept <- lme(value ~ 1,
data = data,
random = ~1|ID,
method = "ML",
na.action = "na.omit")
#add timepoint as a fixed effect
timeFE <- lme(value ~ timepoint,
data = data,
random = ~1|ID,
method = "ML",
na.action = "na.omit")
}
nlme_rct_lmm(Dat, Value, Time, id)
這發生在我身上,但我認爲這可能是OP的例子僅僅是個開始(例如,他們可能在返回摘要值之前用結果做其他一些事情);無論如何,在答案中值得一提... –
優秀!是的,實際功能正在返回一系列模型測試。如前所述,我發現NSE方法更符合最終用戶的需求。 –