我正在开始编写一个使用
nlme
构建线性混合模型的函数。我遇到了一个错误:Error in eval(expr, envir, enclos) : object 'value' not found
,我认为这是由于R不知道在哪里找到数据框变量(例如value
)。如果这确实是导致错误的原因,那么如何告诉函数value
和timepoint
属于下面(可重现)代码中的Dat
变量?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)