簡體   English   中英

如何使用 dlply 參數調用 function?

[英]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)

其中cat1cat2cat3是分類變量的名稱。

謝謝您的幫助。

編輯:由於 function 目前存在,它無法正常工作,因為".(cat1,arg1)" " 在dlply中不是“可識別的”。 需要進行一些修改,但是如何修改?

嘗試c("cat1", arg1)而不是.(cat1, arg1)

引用?dlply

Arguments

.variables用於分割數據幀的變量,作為引用變量,公式或字符向量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM