s funções recursivas são usadas em

A função canônica para demonstrar recursão é a função fatorial (). Eu mesmo tentei uma implementação simples e vim com isso:

factorial <- function(x){

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

}

Na minha pesquisa sobre o tópico, parece haver algum debate sobre se é melhor usar recursão ou iteração simples. Eu queria ver como o R o implementa e encontrei uma função fatorial () no pacote gregmisc. Eu pensei em encontrar algo como minha implementação ou uma iteração regular. O que eu achei isso:

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

Então, a resposta para minha pergunta sobre se R prefere recursão ou iteração é "nem". Pelo menos nesta implementação. As funções recursivas são evitadas no R por uma boa razão?

Atualizar

ersão @gregmisc:

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

my version:

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

questionAnswers(3)

yourAnswerToTheQuestion