Очистка значений `Inf` из фрейма данных R

В R у меня есть операция, которая создает некоторыеInf значения, когда я преобразую датафрейм.

Я хотел бы включить этиInf значения вNA ценности. У меня код медленный для больших данных, есть ли более быстрый способ сделать это?

Скажем, у меня есть следующий фрейм данных:

dat <- data.frame(a=c(1, Inf), b=c(Inf, 3), d=c("a","b"))

Следующее работает в одном случае:

 dat[,1][is.infinite(dat[,1])] = NA

Поэтому я обобщил это следующим циклом

cf_DFinf2NA <- function(x)
{
    for (i in 1:ncol(x)){
          x[,i][is.infinite(x[,i])] = NA
    }
    return(x)
}

Но я не думаю, что это действительно использует силу R.

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

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