2017-05-04 2 views
0

Zunächst einmal vielen Dank für Ihr Interesse und Ihre Zeit. Meine Frage (mit R): die Yvar Zur Vorhersage, ich habe ein Lasso Regression ausgeführt, die den Satz von xvariables von 736 auf 30.Nach dem Lasso: Speichern Sie die verbleibenden Variablen als neuen Datenrahmen (mit R)

lasso.mod =glmnet(x,y,alpha=1) 
cv.out =cv.glmnet (x,y,alpha=1) 
lasso.bestlam =cv.out$lambda.min 
tmp_coef = coef(cv.out,s=lasso.bestlam) 

varnames = data.frame(name = [email protected][[1]][[email protected]]) 
mylist = list(name = [email protected][[1]][[email protected]]) 

Daher habe ich die restlichen Variablennamen als einen Datenrahmen reduziert, und auch als Liste. Wie ist es möglich, einen neuen Datenrahmen zu erstellen, der diese 30 Variablen und ihre Beobachtungen enthält? Mit anderen Worten: Wie kann ich eine Teilmenge meiner Originaldaten erhalten, die keine 737 Variablen enthält, sondern nur 31?

ich denke, das ganz einfach sein sollte, aber ich habe mehr als zwei Stunden verbracht und es nie funktioniert ...

Best wishes, Thomas

+0

Dies scheint eine Standard-Spaltenauswahl Problem. Nehmen Sie Ihren alten Datenrahmen und wählen Sie die Spalten in Ihrer Liste als Vektor aus. Z.B. 'mtcars [, c (" mpg "," cyl ")]' wählt diese beiden Spalten aus dem Datensatz 'mtcars' aus. – coffeinjunky

+0

Wenn Sie auf dieser Website nach Hilfe zur Spaltenauswahl suchen, erhalten Sie mehrere Antworten. – BLT

+0

Das Problem ist, dass sich die Variablen nach dem Lasso vielleicht ändern werden (abhängig von einigen anderen Dingen, die ich vor dem Lasso machen werde). Daher möchte ich nicht jedes Mal 30 Variablen von Hand schreiben. Aber danke für deine Zeit und Rücksichtnahme. –

Antwort

Verwandte Themen