Ich habe ein Dataset, in dem ich die NA-Werte herausgefiltert habe und plane, ein allgemeines lineares Modell zu erstellen, um Dinge vorherzusagen. Allerdings, wenn ich dies tun:R endliche Werte im Datensatz lokalisieren
model<-bayesglm(total_score ~ ., data=traint)
bekomme ich folgende Fehlermeldung:
Error in lm.fit(x = x.star[good.star, , drop = FALSE] * w.star, y = z.star * :
NA/NaN/Inf in 'y'
Basierend auf einem früheren Post: lm() NA/NaN/Inf error, Ich versuche, die endliche Werte des Datensatzes zu beseitigen ....
Nachdem für eine solche endliche Werte geprüft mit:
summary(timesData)
output too long to show
ich kein Symbol, das mich finden können, wie der Teilmenge der Daten in einer solchen Art und Weise erzählt, dass ich diese endliche Werte herauszufiltern ....
ist mein Versuch, diese ohnehin tun, wie folgt:
train<-subset(timesData, !is.finite(timesData))
Natürlich, da ich keine Spalte angegeben habe ich bekommen:
Error in is.finite(timesData) :
default method not implemented for type 'list'
ich versuchte lapply:
lapply(timesData, byrow=F, is.finite(timesData))
aber
Error in FUN(X[[i]], ...) :
2 arguments passed to 'is.finite' which requires 1
Insgesamt also meine Frage ist, wie finde ich die Werte im Datensatz, die endlich sind, wenn ‚Zusammenfassung()‘ offenbaren nicht die Spalten, in denen sie sich befinden, und auch, wie kann ich lapply um dann loszuwerden?
Meine Daten auf Kaggle öffentlich verfügbar: https://www.kaggle.com/mylesoneill/world-university-rankings
Ersetzen Sie einfach "is.na" 'mit' "is.finite" 'in' is.na.data.frame' und vuala - Sie haben eine Methode für Datenrahmen. :) Wahrscheinlich, warum gibt es keine Methode. Zu einfach. –