[R-br] [Dúvida] Uso de linguagem funcional para estatística.

Mauro Sznelwar sznelwar em uol.com.br
Domingo Fevereiro 26 21:07:44 BRT 2012


Estava rodando os scripts e vi que o stopifnot(x>=0) se retirado não altera nada. No caso iterativo do factorial não funciona se fizer factorial(0)=0, como forçar para factorial(0)=1?

f2 <- function(x){
    stopifnot(x>=0)
    if(x<=1){
        1
    }else{
        x*f2(x-1)
    }
}


2012/2/26 Mauricio Cardeal <mcardeal2010 em gmail.com>:
> Benilton, por curiosidade testei os códigos e o primeiro funcionou certo,
> mas o segundo acusou erro:
>
>> factorial = function(x){
> +   stopifnot(x>=0)
> +   produto=1
> +   for (i in 1:x) produto = i* produto
> +   produto
> + }
>> factorial(3)
> [1] 6
>> f2 = function(x){
> +   stopifnot(x>=0)
> +   If(x<=1){
> Erro: '{' inesperado em:
> "  stopifnot(x>=0)
>   If(x<=1){"
>>     1
> [1] 1
>>   }else{
> Erro: '}' inesperado em "  }"
>>     x*f2(x-1)
> Erro: objeto 'x' não encontrado
>>   }
> Erro: '}' inesperado em "  }"
>> }
> Erro: '}' inesperado em "}"
>>
>
> Mauricio Cardeal
>
> UFBA
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120226/1ae699a6/attachment.html>


Mais detalhes sobre a lista de discussão R-br