【问题标题】:R Caret Train function with variable X-variable具有变量 X 变量的 R Caret Train 函数
【发布时间】:2021-03-28 12:46:22
【问题描述】:

我正在尝试在具有可变 x 值的代码中运行 caret::train 函数。详情见下文

我正在使用下面的火车功能↓

model <- train(GenCSTempMax ~., #************************ ENTER THE out.x VALUE
           data=genbrg.data, 
           method="glm", 
           preProcess="scale", 
           trControl=control)

我想要做的是从字符变量输入 x 变量(上面是 GenCSTempMax )

例子

out.x <- "Test"

model <- train("insert out.x here" ~., #************************ ENTER THE out.x VALUE
           data=genbrg.data, 
           method="glm", 
           preProcess="scale", 
           trControl=control)

我试过用

paste(out.x) & paste0(out.x) 

也尝试过使用infuser包

这是我得到的正常错误:

Error in model.frame.default(form = names(genbrg.data[, 1]) ~ ., data = genbrg.data,  : 
variable lengths differ (found for 'GenCSTempMax')

Error in model.frame.default(form = paste(out.x) ~ ., data = genbrg.data,  : 
variable lengths differ (found for 'GenCSTempMax')

Error in model.frame.default(form = paste0(out.x) ~ ., data = genbrg.data,  : 
variable lengths differ (found for 'GenCSTempMax')

【问题讨论】:

    标签: r r-caret


    【解决方案1】:

    你只需要重新创建公式,例如:

    genbrg.data = data.frame(GenCSTempMax = rnorm(100),
                             Test = rnorm(100),
                             matrix(rnorm(1000),ncol=10)
                            )
    
    Formula  = reformulate(".",response="Test")
    
    Formula
    Test ~ .
    
    model <- train(Formula,
               data=genbrg.data, 
               method="glm", 
               preProcess="scale", 
               trControl=trainControl(method="cv"))
    

    【讨论】:

    • 我通过重新制定函数学到了一些新东西。这会大有裨益。 Danke für diene Hilfe
    • 很高兴它有帮助 ?
    猜你喜欢
    • 2018-03-16
    • 2019-06-29
    • 2017-06-20
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    相关资源
    最近更新 更多