вне меня и кажется проблемой языкового дизайна. Однако есть простое решение:

ользовалsum(is.na(my.df)) проверить, содержит ли мой фрейм данных какие-либо NA, которые работали, как я ожидал, ноsum(is.nan(my.df)) не работает, как я ожидал.

> 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

О, Боже. Есть ли причина несогласованности в поведении? Это из-за отсутствия реализации или намеренно? Что означает возвращаемое значениеis.nan(my.df) означает? Есть ли веская причина не использоватьis.nan() на весь фрейм данных?

В документации дляis.na( ) а такжеis.nan( )типы аргументов кажутся одинаковыми (хотя они не содержат конкретного списка фреймов данных):

is.na(): x R проверяемый объект: методы по умолчанию обрабатывают атомарные векторы, списки и паирлисты.is.nan(): x R проверяемый объект: методы по умолчанию обрабатывают атомарные векторы, списки и паирлисты.

Ответы на вопрос(2)

Ваш ответ на вопрос