![](/img/trans.png)
[英]How to use dlply to run function for two or more grouping variables in R?
[英]How to call a function with dlply argument?
我希望使用dlply
編寫一個 function 來擬合分層的線性回歸
"cat1 by arg1"
所以我的 function 看起來像這樣
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)
}
如何編寫 function 以便當我調用 function fun1("cat2")
時 function 將執行
list_of_models <- dlply(m1, .(cat1,cat2), function(X) lm(mod.form, data = X,
na.action = na.omit), .parallel=FALSE)
並調用 function fun1("cat3")
, function 將執行
list_of_models <- dlply(m1,.(cat1,cat3), function(X) lm(mod.form, data = X,
na.action=na.omit), .parallel=FALSE)
其中cat1
、 cat2
和cat3
是分類變量的名稱。
謝謝您的幫助。
編輯:由於 function 目前存在,它無法正常工作,因為".(cat1,arg1)"
" 在dlply
中不是“可識別的”。 需要進行一些修改,但是如何修改?
嘗試c("cat1", arg1)
而不是.(cat1, arg1)
。
引用?dlply
:
Arguments
.variables
用於分割數據幀的變量,作為引用變量,公式或字符向量
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.