2015-12-29 41 views
0
#Logistic Model Based Recursive Partitioning 
library(party) 
data("PimaIndiansDiabetes2",package = "mlbench") 
set.seed(16) 
n=nrow(PimaIndiansDiabetes2) 
train <- sample(1:n, 600, FALSE) 
#mass and pedigree are conditioning varibles for logistic regression 
f<-"diabetes ~ mass + pedigree|glucose + pregnant + pressure + triceps + 
insulin + age" 
fit <- mob(f, data=PimaIndiansDiabetes2[train, ], model=glinearModel, family=binomial()) 
plot(fit) 

錯誤甲縮醛(FIT):參數「適合」缺失,沒有默認設置 究竟是通過爭論意味着丟失,請澄清說法「適合」失蹤,R暴民()在方包

+0

我編輯通過@EricFail回覆稍微更精確的模型公式必須是一個'formula'不是'character'指出。另外,你可以考慮在'partykit'包中使用'glmtree()'函數,它有一個更方便的界面,並提供了很多額外的選項。 –

回答

2

模型公式必須是"formula"而不是"character"。所以f需要不帶引號來定義:

f <- diabetes ~ mass + pedigree | glucose + pregnant + pressure + triceps + insulin + age 

或者你也可以直接將其移動到mob()電話。然後你得到這個情節,

# mass and pedigree are conditioning variables for logistic regression 
fit <- mob(diabetes ~ mass + pedigree | glucose + pregnant + pressure + triceps + insulin + age, 
    data = PimaIndiansDiabetes2[train, ], model = glinearModel, family = binomial()) 
plot(fit) 

Model-based Recursive Partitioning

+0

您也可以使用'f < - as.formula(「糖尿病〜羣體+血統+血糖+孕婦+壓力+三頭肌+胰島素+年齡)」從字符串中創建一個公式對象。請參閱[鏈接](http://www.cookbook-r.com/Formulas/Creating_a_formula_from_a_string/)。 –

+0

@MarcoSandri,好點。總是有很多方法在R做事。 –