希望这不是一个完全愚蠢的问题。我有一个描述df, n = 2228, p = 19马种特征的数据集5。我想通过将数据首先分为pricebreed来将连续变量training建模为每个test的其他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)

最佳答案

我想你想做的是

horse_typex <- df %>% filter(breed == typex)


针对每种类型的马,然后将其分为测试和训练集。

如果您希望进行线性回归,则可能要对价格的对数建模,因为它可能会偏斜。

关于r - 插入符:使用train()执行分组回归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39748533/

10-10 17:59