我正在使用glmnet包从mtcars数据集获取以下图表(其他变量上mpg的回归):
library(glmnet)
fit = glmnet(as.matrix(mtcars[-1]), mtcars[,1])
plot(fit, xvar='lambda')
如何在每条曲线的起点或在其最大y点(距x轴最大距离)处向每条曲线添加变量名称?我尝试过,可以像往常一样添加图例,但不能在每个曲线上或其开始处添加标签。谢谢你的帮助。
由于标签是硬编码的,因此编写快速功能可能更容易。这只是一个快速的快照,因此可以进行更彻底的更改。我还要指出的是,使用套索时,通常会有很多变量,因此标签会有很多重叠(如您的小示例所示)
lbs_fun <- function(fit, ...) {
L <- length(fit$lambda)
x <- log(fit$lambda[L])
y <- fit$beta[, L]
labs <- names(y)
text(x, y, labels=labs, ...)
}
# plot
plot(fit, xvar="lambda")
# label
lbs_fun(fit)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句