【发布时间】:2018-04-13 14:01:45
【问题描述】:
我正在创建一个执行交叉验证和岭回归的函数,以选择模型的预测变量。我的函数的输入是dataframe 和期望的结果变量outcome(预测的结果)。我正在使用 model.matrix() 创建一个我将传递给 glmnet() 的 x 矩阵。我的函数使用outcome 作为model.matrix() 中的对象参数,但看起来outcome 是通过model.matrix() 传递的错误数据类型。通常使用 model.matrix(),我会写类似model.matrix(Weight~.,dataframe) 的东西。但是,在这种情况下,model.matrix 将无法作为 model.matrix(outcome~.,dataframe) 或 model.matrix(dataframe$outcome~.,dataframe) 工作。有什么想法吗?
【问题讨论】:
-
您可以将
paste与formula一起使用,即model.matrix(formula(paste(outcome, "~ .")), dataframe) -
如果你能分享一个可重现的小例子,或者至少告诉我们神秘的
outcome变量是什么类,这会有所帮助。
标签: r model.matrix