我希望编写一个函数dlply
来拟合分层的线性回归
"cat1 by arg1"
所以我的功能看起来像这样
fun1 <- function(arg1) {
m1 <- data.frame(...)
mod.var <- ...
mod.form <- formula(paste("y ~", paste(mod.var, collapse = " + ")))
list_of_models <- dlply(m1, .(cat1,arg1), function(X) lm(mod.form, data = X,
na.action=na.omit), .parallel=FALSE)
}
如何编写一个函数,以便当我调用该函数时fun1("cat2")
该函数将执行
list_of_models <- dlply(m1, .(cat1,cat2), function(X) lm(mod.form, data = X,
na.action = na.omit), .parallel=FALSE)
并调用该函数fun1("cat3")
,该函数将执行
list_of_models <- dlply(m1,.(cat1,cat3), function(X) lm(mod.form, data = X,
na.action=na.omit), .parallel=FALSE)
其中cat1
和是分类变量的名称cat2
。cat3
感谢您的帮助。
编辑:由于该功能目前,它无法正常工作,因为".(cat1,arg1)"
在dlply
. 需要进行一些修改,但是如何修改?