Trames de données et is.nan ()

J'ai été en utilisant sum(is.na(my.df)) pour vérifier si mon bloc de données contient de NAs, qui a travaillé comme je m'y attendais, mais sum(is.nan(my.df)) n'a pas fonctionné comme je l'espérais.

> my.df <- data.frame(a=c(1, 2, 3), b=c(5, NA, NaN))
> my.df
  a   b
1 1   5
2 2  NA
3 3 NaN
> is.na(my.df)
         a     b
[1,] FALSE FALSE
[2,] FALSE  TRUE
[3,] FALSE  TRUE
> is.nan(my.df)
    a     b 
FALSE FALSE 
> sum(is.na(my.df))
[1] 2
> sum(is.nan(my.df))
[1] 0

Oh chers.
Est-il une raison de l'incohérence dans le comportement? Est-ce un manque de mise en œuvre, ou est-ce intentionnel? Quelle est la valeur de retour de is.nan(my.df) signifie? Est-il une bonne raison de ne pas utiliser is.nan() sur un ensemble de données d'image?

Dans la documentation de is.na( ) et is.nan( )les types d'argument semble le même (bien qu'ils ne sont pas spécifiquement sur la liste des trames de données):

is.na(): x R de l'objet à tester: les méthodes par défaut poignée atomique vecteurs, les listes et les pairlists.
is.nan(): x R de l'objet à tester: les méthodes par défaut poignée atomique vecteurs, les listes et les pairlists.

source d'informationauteur Zach