R: NaNs produit
J'ai un moment de la série dans la R Studio. Maintenant, je veux calculer le log() de cette série. J'ai essayé le suivant:
i <- (x-y)
ii <- log(i)
Mais puis-je obtenir suivantes: Warning message: In log(i): NaNs produced
Pour inspecter ce que j'ai utilisé: table(is.nan(ii))
qui me donne le résultat suivant:
FALSE TRUE
2480 1
Donc, je suppose, qu'il y a 1 NaN dans mon temps entre les séries. Ma question est: quel est le code que je peux utiliser, que R me montre pour lequel l'observation NaN a été produit?
Voici un petit échantillon de données: i <- c(9,8,4,5,7,1,6,-1,8,4)
Btw, comment taper les formules mathématiques dans stackoverflow, par exemple pour log(x)? Merci beaucoup
- vous ne pouvez pas prendre le journal des nombres négatifs
which
est probablement la fonction vous êtes à la recherche pour :which(is.nan(log(i))) # 8
Vous devez vous connecter pour publier un commentaire.
Comme je l'ai dit dans mon commentaire, à savoir qui d'observation généré le
NaN
, vous pouvez utiliser la fonctionwhich
:8
imprimé ici vous indique qu'il est le 8e élément dei
, pas quelog(8)
estNaN
.Utiliser le test de sous-ensemble votre vecteur d'origine avec les valeurs qui produisent NaN:
Ici, vous voyez que -7, -1, et
-Inf
produitNaN
.Noter que
log(NA)
n'est pasNaN
, sonNA
, qui est un autre genre de non-numberness.