从nlme对象中提取随机公式

jsl*_*che 4 r lme4 mixed-models nlme

我试图从使用构造的模型中提取随机结构lme,但除了固定的公式之外,我似乎无法得到任何其他结构.例如,

library(nlme)
fm1 <- lme(distance ~ age, Orthodont, random = ~ age | Subject)
deparse(terms(fm1))
# "distance ~ age"
Run Code Online (Sandbox Code Playgroud)

这可以lmer使用findbars():

library(lmerTest)
fm2 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
findbars(formula(fm2))
# [[1]]
# Days | Subject
Run Code Online (Sandbox Code Playgroud)

我希望能够提取:

# ~ age | Subject
# (Days | Subject)
Run Code Online (Sandbox Code Playgroud)

我可能会使用这个,regexpr但我也希望这适用于更复杂的结构(多个随机斜率,嵌套随机变量等),并且可能包括加法或随机斜率.谢谢!

kon*_*vas 5

你可以通过访问这些

fm1$call$fixed
# distance ~ age
fm1$call$random
# ~age | Subject
Run Code Online (Sandbox Code Playgroud)