Frames de dados e is.nan ()
Eu estava usandosum(is.na(my.df))
para verificar se meu quadro de dados continha algum NA, que funcionou como eu esperava, massum(is.nan(my.df))
não funcionou como eu esperav
> 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 céus. Existe uma razão para a inconsistência no comportamento? É por falta de implementação ou é intencional? Qual é o valor de retorno deis.nan(my.df)
significa? Existe uma boa razão para não usaris.nan()
em um quadro de dados inteiro?
Na documentação parais.na( )
eis.nan( )
, os tipos de argumento parecem os mesmos (embora não listem especificamente os quadros de dados):
is.na()
: x Objeto R a ser testado: os métodos padrão lidam com vetores, listas e pairlists atômicos.is.nan()
: x Objeto R a ser testado: os métodos padrão lidam com vetores, listas e pairlists atômico