Se utilizan funciones recursivas en R?

La función canónica para demostrar la recursividad es la función factorial (). Intenté una implementación simple de mí mismo y se me ocurrió esto:

factorial <- function(x){

if(x==1)
    return( 1)
else
    return(x*factorial(x-1))

}

De mi encuesta sobre el tema, parece haber cierto debate sobre si es mejor usar la recursión o la iteración simple. Quería ver cómo R lo implementa y encontré una función factorial () en el paquete gregmisc. Pensé que encontraría algo como mi implementación o, en cambio, una iteración regular. Lo que encontré esto:

> factorial
function (x) 
gamma(x + 1)
<environment: namespace:base>

Así que la respuesta a mi pregunta de si R prefiere la recursividad o la iteración es "ninguna". Al menos en esta implementación. ¿Se evitan las funciones recursivas en R por una buena razón?

Actualizar

gregmisc versión:

>ptm <- proc.time()
> factorial(144)
[1] 5.550294e+249
> proc.time() - ptm
   user  system elapsed 
  0.001   0.000   0.001 

mi version

> factorial(144)
[1] 5.550294e+249
> proc.time() - ptm
  user  system elapsed 
  0.002   0.001   0.006 

Respuestas a la pregunta(3)

Su respuesta a la pregunta