首页 > 解决方案 > 如何选择变量以在带有 R 的公式中使用它们

问题描述

我想制作一个可以轻松运行多个模型的功能。只有使用的模型输入变量不同。我对这个模型使用了 rpart 函数。理想情况下,我有一个包含模型及其变量的表(命名变量)。看起来像这样的东西

model1           model2     model3         …………………
gender          gender      age
age             education   wageparents
education                   nfriends
                            married

而不是有一个功能,我可以插入乐趣(数据,变量)

到目前为止我使用的是:

tree <-rpart(wage ~  gender + age + education, method='class', data=Data, control=rpart.control(minsplit=1, minbucket=1, cp=0.002))

这行得通,但我每次都必须更改模型公式

我尝试过这样的事情,但我不确定我必须使用什么数据类型等。

wagefun <- function(Data, variables$model1){
  tree <-rpart(wage ~  variables$model1,  method='class', data=Data, control=rpart.control(minsplit=1, minbucket=1, cp=0.002))
  return(tree)
}

标签: r

解决方案


创建公式reformulate

form <- reformulate(termlabels = variables$model1, response = "wage", intercept = TRUE)
rpart(form, ...)

请注意到目前为止您忽略的截距项:它是一个额外的建模选择。


推荐阅读