Aquí es una variante que usa los propios nombres de R, excepto para "Finito" - por lo que es un poco más corto para escribir y como un bono también maneja el infinito negativo y NA
:
# Include -Inf and NA...
a <- c(0.1,0.6,23,Inf,-Inf,NaN,NA)
format(ifelse(is.finite(a), "Finite", a), justify="none")
#[1] "Finite" "Finite" "Finite" "Inf" "-Inf" "NaN" "NA"
... Pero si realmente desea que las cadenas "infinito" y "-INFINITY", entonces esto haría que:
sub("Inf", "Infinity", format(ifelse(is.finite(a), "Finite", a), justify="none"))
Por último, si desea mantener los NA
s, a continuación, sólo no llame al format
:
sub("Inf", "Infinity", ifelse(is.finite(a), "Finite", a))
#[1] "Finite" "Finite" "Finite" "Infinity" "-Infinity" "NaN" NA
Es una buena práctica responder a sus propias preguntas sobre SO, pero este es un ejemplo particularmente pobre de una respuesta, ya que su solución presenta una serie de nuevas variables que no aparecen en la pregunta. – Andrie
@UriLaserson Limpio un poco su respuesta (que cubre los consejos de Andrie), puede retroceder si no le gusta. – Marek