R: NaNs produziert
Ich habe eine Zeitreihen in R-Studio. Jetzt möchte ich die Berechnung der log () - dieser Serie. Ich habe versucht, die folgenden:
i <- (x-y)
ii <- log(i)
Aber dann bekomme ich die folgende: Warning message: In log(i): NaNs produced
Zu kontrollieren diese die ich verwendet habe: table(is.nan(ii))
gibt mir folgende Ausgabe:
FALSE TRUE
2480 1
Also gehe ich davon aus, dass es 1 NaN in meiner Zeit-Serie jetzt. Meine Frage ist: welchen code kann ich verwenden, dass R zeigt mir für die Beobachtung ein NaN erzeugt wurde?
Hier ist eine kleine Daten-Beispiel: i <- c(9,8,4,5,7,1,6,-1,8,4)
Btw, wie kann ich geben Sie mathematische Formeln in stackoverflow, beispielsweise für log(x)? Vielen Dank
Sie können nicht das log von negativen zahlen
which
ist vermutlich die Funktion, die Sie suchen : which(is.nan(log(i))) # 8
InformationsquelleAutor Michael B | 2015-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich sagte, in meinem Kommentar, um zu wissen, die Beobachtung erzeugt die
NaN
verwenden, können Sie die Funktionwhich
:8
gedruckt, hier sagt Sie es ist das 8. element deri
nicht, dasslog(8)
istNaN
.ja, ich bin mir durchaus bewusst, dass! 😉 Ich dachte es war klar aus meiner Antwort, aber glaubst du, ich brauche, um es noch deutlicher ? Oder vielleicht ist es auch ok nur mit Ihrem Kommentar, für den Fall jemand kann mich irren.
InformationsquelleAutor Cath
Den test auf Teilmenge Ihrer ursprünglichen Vektor mit den Werten, die das produzieren, NaN:
Hier sieht man, -7, -1, und
-Inf
produziertNaN
.Beachten Sie, dass
log(NA)
ist nichtNaN
seineNA
, die eine andere Art von nicht-numberness.InformationsquelleAutor Spacedman