R 使用虚拟变量自动转换训练数据的lm评估
我尝试使用statisticalmodeling软件包评估模型,并查看效果大小:R 使用虚拟变量自动转换训练数据的lm评估,r,r-caret,R,R Caret,我尝试使用statisticalmodeling软件包评估模型,并查看效果大小: library(caret) library(statisticalModeling) a_model <- train( Sepal.Length ~ Species + Sepal.Width, data = iris, method = "lm" ) statisticalModeling::effect_size(a_model$finalModel, ~ Species, data
library(caret)
library(statisticalModeling)
a_model <- train(
Sepal.Length ~ Species + Sepal.Width,
data = iris,
method = "lm"
)
statisticalModeling::effect_size(a_model$finalModel, ~ Species, data = iris)
库(插入符号)
图书馆(统计建模)
a_model您可以使用默认的S3方法train
来避免它
b_model <- train(x = iris[, c("Species", "Sepal.Width")],
y = iris$Sepal.Length,
method = "lm")
identical(a_model$finalModel$coefficients, b_model$finalModel$coefficients) # TRUE
statisticalModeling::effect_size(b_model$finalModel, ~ Species, data = iris)
b_model Hi谢谢你的回答。通过S3方法,这是否意味着只包括来自训练数据框架的精确变量?据我所知,这就是你正在做的事情,是的(请参阅帮助(“训练”、“插入”)
)。我使用dplyr select而不是df[,c(“var1”、“var2”)]
尝试了这个S3方法,但它成功了;t run,这很奇怪,因为如果我将select(iris,c(“物种”,“萼片宽度”)
的str与上面的x=方法进行比较,它们看起来完全相同:-/tbl_df
可能不受支持。也许select(如.data.frame(df),colnames)
。