希望这不是一个完全愚蠢的问题 . 我有一个数据集 df, n = 2228, p = 19
,描述了 5
马的品种特征 . 我想通过首先将数据分成 training
和 test
,将连续变量 price
建模为每个 breed
的其他17个预测变量(甚至是分类和连续的混合)的函数 .
library(tidyverse)
library(caret)
library(glmnet)
# pre- processing reveals no undo correlation, linear dependency or near
# zero variance veriables
train <- df %>% group_by(breed) %>% sample_frac(size = 2/3) %>% droplevels()
test <- anti_join(df, train) %>% droplevels()
# I imagine I should be somehow able to do this in the following step but can't
# figure it out
model <- train(price ~ ., data = train, method = "glmnet")
test$pred <- predict(model, newdata = test)
据我所知,我没有问题按 breed
拆分数据(参见上面的代码) . 但是,我无法弄清楚如何拟合按 breed
分组的模型 . 我想做的是类似于包 nlme
中的以下内容,即 lmList(price ~ . |breed, data = df)
3 回答
我想你想做的就是这样
对于每种类型的马,然后将它们分成测试和训练集 .
如果您希望进行线性回归,也许您可能希望对价格的对数进行建模,因为它可能存在偏差 .
尝试:
我建议尝试使用
purrr
或
dplyr
很难知道这是否有效,但值得一试 .