如何解决使用扫帚整理“火车”物体
我使用插入符号包和下面的代码制作了线性回归模型
library(caret)
#Anscombe data is available on R
model_1<-train(
form=y1~x1,data=anscombe,method='lm',trControl=trainControl(method='cv',number=3))
我想做的是使用broom::tidy(model_1)
将模型转换成数据框,但是会引发错误
# Error: No tidy method for objects of class train
我认为问题出在插入符号模型的类上,它是train()
而不是lm()
。有什么方法可以整理train
对象?还是应该先将train
对象转换为lm
?
解决方法
broom
软件包当前不支持这种类型的对象。看到这里:https://github.com/tidymodels/broom/issues/128
不过,您可以按照以下说明轻松定义自己的tidy
方法:https://www.tidymodels.org/learn/develop/broom/
这是一个最小的示例:
library(caret)
library(broom)
tidy.train <- function(x,...) {
s <- summary(x,...)
out <- data.frame(term=row.names(s$coefficients),estimate=s$coefficients[,"Estimate"],std.error=s$coefficients[,"Std. Error"],statistic=s$coefficients[,"t value"],p.value=s$coefficients[,"Pr(>|t|)"])
row.names(out) <- NULL
out
}
model_1<-train(
form=y1~x1,data=anscombe,method='lm',trControl=trainControl(method='cv',number=3))
tidy(model_1)
#> term estimate std.error statistic p.value
#> 1 (Intercept) 3.0000909 1.1247468 2.667348 0.025734051
#> 2 x1 0.5000909 0.1179055 4.241455 0.002169629
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。