[R-br] [Dúvida] Uso de linguagem funcional para estatística.
Benilton Carvalho
beniltoncarvalho em gmail.com
Domingo Fevereiro 26 20:54:23 BRT 2012
Mauro,
Por isso eu escrevi que não havia testado os códigos.
Se vc quiser testar a função, tente com
factorial = function(x){
stopifnot(x>=0)
produto=1
if (x>1)
for (i in 1:x) produto = i* produto
produto
}
Sobre o stopifnot, leia o manual da função para entender o uso da função.
b
On Monday, 27 February 2012, Mauro Sznelwar wrote:
> **
> 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 <javascript:_e({},
> 'cvml', '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/c2f45afb/attachment.html>
Mais detalhes sobre a lista de discussão R-br