3

この投稿 ( R の glmnet プロットで曲線にラベルを追加) の関数を変更して、次のようにプロットに凡例を追加しました。

library(glmnet)
fit = glmnet(as.matrix(mtcars[-1]), mtcars[,1])

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, ...)
        legend('topright', legend=labs, col=1:length(labs), lty=1) # <<< ADDED BY ME
}
plot(fit, xvar="lambda")
lbs_fun(fit)

ここに画像の説明を入力

ただし、プロットと凡例のテキスト ラベルが一致しません。変数「am」は明らかに間違った色になっています。エラーはどこにありますか? ご協力いただきありがとうございます。

4

2 に答える 2

1

呼び出しで色を指定してplot、凡例に選択した色に一致させることができます。

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, ...)
        legend('topright', legend=labs, col=1:length(labs), lty=1) # <<< ADDED BY ME
}
plot(fit, xvar="lambda", col=1:dim(coef(fit))[1])
lbs_fun(fit)

ここに画像の説明を入力

于 2015-06-01T06:36:47.130 に答える