Я использую lm()
подобную функцию, называемую robu()
из библиотеки robumeta
в моей собственной функции foo
.
Однако я манипулирую аргументом formula
таким образом, чтобы при его отсутствии формула по умолчанию была бы: formula(dint~1)
или любая другая формула, определяемая пользователем.
Работает нормально,однако в выводе foo
вызов формулы для печати всегда равен: Model: missing(f) if formula(dint ~ 1)
независимо от того, какая формула введена в foo
.
Можно ли исправить эту часть вывода, чтобы она отображала толькоточная формула используется? ( см. Примеры ниже )
dat <- data.frame(dint = 1:9, SD = 1:9*.1,
time = c(1,1,2,3,4,3,2,4,1),
study.name = rep(c("bob", "jim", "jon"), 3))
library(robumeta)
# MY FUNCTION:
foo <- function(f, data){
robu(formula = if(missing(f)) formula(dint~1) else formula(f), data = data, studynum = study.name, var = SD^2)
}
# EXAMPLES OF USE:
foo(data = dat) ## HERE I expect: `Model: dint ~ 1`
foo(dint~as.factor(time), data = dat) ## HERE I expect: `Model: dint ~ time`