Dans R, j'ai une opération qui crée des Inf
lorsque je transforme un cadre de données.
Je voudrais transformer ces Inf
en valeurs NA
valeurs. Le code que j'ai est lent pour les grandes données, existe-t-il un moyen plus rapide de le faire ?
Disons que j'ai le cadre de données suivant :
dat <- data.frame(a=c(1, Inf), b=c(Inf, 3), d=c("a","b"))
Ce qui suit fonctionne dans un seul cas :
dat[,1][is.infinite(dat[,1])] = NA
Je l'ai donc généralisé avec la boucle suivante
cf_DFinf2NA <- function(x)
{
for (i in 1:ncol(x)){
x[,i][is.infinite(x[,i])] = NA
}
return(x)
}
Mais je ne pense pas que ce soit vraiment utiliser la puissance de R.