Ich habe über 1000 Spalten in meinem Datenrahmen. Ich möchte eine lineare Regression für alle Variablen ausführen und möchte sie nicht einzeln schreiben. Als ich dies versuchen,So führen Sie eine lineare Regression für alle Variablen aus, wenn einige Spalten unterschiedliche Klassen haben
lm(goal ~ ., data = df)
bekomme ich diesen Fehler:
Error in
contrasts<-
(*tmp*
, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels
ich Spalten mit Zeichenklasse haben, Faktoren, Numerik, etc. Ich ich bin zu raten, sollte Spalten entfernen, die nicht Variablen sind, können. Wie mache ich das?
Dies scheint zu sagen, dass eine der Faktorvariablen, die Sie die Regression sind vorbei hat nur eine Ebene .. So ist es finden und weglassen es es. Sie finden diese durch 'sapply (d [sapply (d, is.factor)], nlevels)'; Suche nach denen mit einem Level – user20650
Das scheint wie eine extrem faule Haltung. –
Ist nicht faul gut? Sollten wir nicht immer etwas faul machen wollen, um mehr Zeit für andere Aktivitäten zu haben. Soll ich eigentlich 1000+ Variablen schreiben? Ich plane, zu 3000+ Variablen zu gehen. Warum sollte ich Zeit damit verschwenden, das zu schreiben? – user6452857