Lineares Modell der Funktion lm() error: NA/NaN/Inf in foreign function call (arg 1)

Sagen, ich habe Daten.Rahmen a

Benutze ich

m.fit <- lm(col2 ~ col3 * col4, na.action = na.exclude)

col2 hat einige NA Werte col3 und col4 haben Werte kleiner als 1.

Ich immer

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
NA/NaN/Inf in foreign function call (arg 1)

Ich habe die mailing-Liste und es scheint, dass es ist, weil der NAs in col2 aber ich habe versucht, mit na.action=na.exclude/omit/pass aber keiner von Ihnen scheint zu arbeiten. Getestet hab ich lm wieder auf die ersten 10 Einträge, auf jeden Fall nicht, weil der NAs. Problem mit dieser Warnung alle google-Ergebnisse scheinen zu zeigen NA.

Habe ich falsch interpretiert, die den Fehler oder bin ich mit lm falsch?

Daten an kaggle. Ich bin Modellierung MonthlyIncome Daten mittels linearer regression (als hätte ich nicht eine gewisse glm Familie, um zu arbeiten). Ich habe meine eigene Variablen zu benutzen, aber wenn Sie versuchen, das Modell MonthlyIncome mit Variablen schon vorhanden-es scheitert.

  • m.fit<-lm(col2 ~ col3 + col4 + col3*col4, data=a, na.action=na.exclude) ist sehr viel besser lesbar für Ihr Modell angeben
  • Ohne ein reproduzierbares Beispiel ist es sehr schwer, Ihre Frage zu beantworten. Bitte siehe stackoverflow.com/q/5963269/567015 auf Anweisungen, wie dies zu tun.
  • Wenn Sie Teilmenge a für Zeilen ohne NA in col2 und führen Sie dann das lm(), haben Sie weiterhin die Fehlermeldung erhalten?
  • Für was es Wert ist, ~ col3*col4 entspricht ~ col3+col4+col3:col4 was wiederum äquivalent zu ~ col3+col4+col3*col4 (der Letzte ist harmlos redundant)
  • Vielen Dank Ben, du hast Recht, habe ich falsch verstanden, ein Punkt in meinen Notizen.
  • Nicht viel Punkt im posting einen link zu einer Datenbank, die hinter einem login-Bildschirm. Mittlerweile versuchen Sie, Plotten Sie Ihre Daten, um zu sehen, ob es sieht auch nur annähernd linear.
  • O besch ich wusste, dass dies passieren würde :S. Aber ja ein kleiner Abschnitt der Daten funktioniert Prima, das problem ist, wenn Sie die alle Beobachtungen. Und die lineare regression ist ziemlich logisch, angesichts der Daten, aber definitiv nicht etwas, das ich verwenden möchte, wenn ich hatte eine bessere Kontrolle über R.
  • Holen Sie sich eine dropbox und verwenden Sie die öffentlichen links drin (www.dropbox.com). Das ist immer noch die sauberste Lösung, um Daten auszutauschen, die ich kenne.
  • Ich habe mich für Kaggle, und ich kann nicht replizieren. a <- read.csv("~/Downloads/cs-training.csv"); names(a)[2:4] <- paste("col",2:4,sep=""); m.fit <-lm(col2~col3*col4,data=a) funktionierte gut für mich.
  • Die Spalten sind Sie in der lm passen? Wenn Sie die Namen in der header-Zeile in der Datei, es ist klarer als col2 usw. Ich habe versucht, ein paar Spalte Kombinationen und kann deinen Fehler nicht reproduzieren.
  • So hat a <- read.csv("~/Downloads/cs-training.csv"); m.fit <-lm(MonthlyIncome~age*DebtRatio*SeriousDlqin2yrs,data=a,na.action=na.exclude)
  • Urgh sorry jeder, Es scheint, das problem war, Inf-Werte in meine benutzerdefinierte Spalte, die ich behoben, nachdem Sie eine Nacht gut schlafen... Mal wieder sehr sehr Leid um Zeit zu verschwenden.

InformationsquelleAutor Pk.yd | 2011-12-07
Schreibe einen Kommentar