2016-04-22 8 views
0

Wenn Sie glmnet und eine Zeichnung des Koeffizienten Pfad verwenden, möchte ich die Achse über der Zeichnung entfernen.Entfernen obere Achse in Plot glmnet

Wie entfernen Sie diese Achse? Ich fand dieses Spielzeug Beispiel auf dem Netz:

library(glmnet) 
age <- c(4,8,7,12,6,9,10,14,7) 
gender <- c(1,0,1,1,1,0,1,0,0) ; gender<-as.factor(gender) 
bmi_p <- c(0.86,0.45,0.99,0.84,0.85,0.67,0.91,0.29,0.88) 
m_edu <- c(0,1,1,2,2,3,2,0,1); m_edu<-as.factor(m_edu) 
p_edu <- c(0,2,2,2,2,3,2,0,0); p_edu<-as.factor(p_edu) 
f_color <- c("blue", "blue", "yellow", "red", "red", "yellow", "yellow", "red", "yellow") 
asthma <- c(1,1,0,1,0,0,0,1,1) 
f_color <- as.factor(f_color) 
xfactors <- model.matrix(asthma ~ gender + m_edu + p_edu + f_color)[,-1] 
x <- as.matrix(data.frame(age, bmi_p, xfactors)) 
glmmod<-glmnet(x,y=as.factor(asthma),alpha=1,family='binomial') 
plot(glmmod,xvar="lambda", axes=FALSE) 
+0

Es wäre nützlich, wenn Sie könnten hier eine reproduzierbare Probe zur Verfügung stellen. Welchen Code haben Sie verwendet, auf welche Plotfunktion beziehen Sie sich? – Laterow

+0

Bitte siehe oben. Vielen Dank. – milan

Antwort

1

Diese unerwünschte Achse mit axis Funktion gemacht wird, glaube ich. Wir können diese Funktion noch einmal verwenden, um sie zu erfassen. Der Trick ist wie folgt:

1) Erstellen Sie eine Sequenz mit vielen Punkten, an denen Häkchen gezeichnet werden sollen.

2) Stellen sie größer (verlängern aufwärts)

3) Vergrößern Sie die Breite der Achse

4) Ändern Sie die weiße Farbe und ausschalten Etiketten

plot(glmmod, xvar = "lambda", axes = F, xlab = "", ylab = "") 
axis(side = 3, 
    at = seq(par("usr")[1], par("usr")[2], len = 1000), 
    tck = -0.5, 
    lwd = 2, 
    col = "white", 
    labels = F) 
Verwandte Themen