seu exemplo roda aqui sem mensagens de erro

provavelemtne há problemas com sues objetos  na area de trabalho

1. se puder limpe a area de rtabalho (ou inicie outra)
rm(list=ls())
e rode novamente

2. suas funcoes nao passam todos argumentos umas para outras. Por exemplo
dpoix.t chama dpoix passando apenas y (ou seja assumindo defaults)
confira se e'isto memso que deseja

3. quando encontrar error tente usar:

traceback()
ou ainda melhor
debug()
para identifica-los

debug() eprmite rodart a funcao linha a linha e a cada passo voce pode examonar os objetos





On Thu, 16 Jun 2011, Cristiano Strieder wrote:

Obrigado pelas respostas mais uma vez. Particularmente acho melhor
incluir o parâmetro trunc na dricker.t().

Ao invés da dricker, estou agora aplicando a mesma idéia a função
dpoig. Novamente estou com problema, Error in f * g : non-numeric
argument to binary operator.

Seque código:

dpoix <- function(y, frac=0.05, rate=1/1000, log=FALSE) {
          b <- y*log(frac)
          m <- log(rate)
          n <- (y+1)*log(rate+frac)
   if(log)b+m-n else exp(b+m-n)
}

ppoix <- function(y, frac=0.05, rate=1/1000) {
  r <- exp(-y*log(rate+frac))*(rate*exp(y*log(rate+frac) -
rate*exp(y*log(frac))))
  s <- (rate+frac)*log(rate+frac) - log(frac)*rate - frac*log(frac)
  r/s
 }

dpoix.t <- function(y, frac=0.05, rate=1/1000, trunc) {
   p.trunc <- ppoix(trunc)
   dpoix(y)/(1-p.trunc)
 }

dpoix(10)
dpoix.t(10,trunc=0)

dricker =  function (x,b,...) {b^2*x*exp(-b*x)}
pricker = function (x, b,...){exp(-b*x)*(exp(b*x)-b*x-1)} # CDF
dricker.t = function (x, b, trunc, ...){
 p.trunc = pricker(trunc,b)
        dricker(x,b)/(1 - p.trunc)
}
dricker(x=10, b=0.1)
dricker.t(x=10, b=0.1, trunc=0)

Alguma sugestão?


2011/6/15 Benilton Carvalho <[email protected]>:
pelo jeito o autor da pagina nao testou o codigo... ou, se testou,
tinha uma variavel (trunc) no ambiente que foi herdada pela funcao na
chamada.

a funcao dricker.t precisa da seguinte linha antes de p.trunc

trunc = list(...)[['trunc']]

b

2011/6/16 Cristiano Strieder <[email protected]>:
Obrigado pelas respostas srs, mas acho q ainda n compreendi como
solucionar o problema. Mesmo se eu passar o trunc na chamada da
função, como abaixo, ainda retorna o erro, Error in -b * x :
non-numeric argument to binary operator.

Estou me basendo neste material,
http://ecologia.ib.usp.br/let/doku.php?id=tutoriais:pdf.

dricker =  function (x,b,...) {b^2*x*exp(-b*x)}
pricker = function (x, b,...){exp(-b*x)*(exp(b*x)-b*x-1)} # CDF
dricker.t = function (x, b, ...){
 p.trunc = pricker(trunc,b)
 dricker(x,b)/(1 - p.trunc)
}
dricker.t(x=10, b=0.1, trunc=1)


2011/6/15 Paulo Justiniano <[email protected]>:
veja trecho marcado
a variavel "trunc" nao eh definida em lugar algum
e portanto a funcao nao sabe de onde ler trunc

note que seu codigo pode estar lendo variaveis do GlobalEnv

On Wed, 15 Jun 2011, Cristiano Strieder wrote:

Olá,

estou com problemas no seguinte código:

dricker =  function (x,b,...) {b^2*x*exp(-b*x)}
pricker = function (x, b,...){exp(-b*x)*(exp(b*x)-b*x-1)} # CDF
dricker.t = function (x, b,...){
 p.trunc = pricker(trunc,b)

                    ^^^^^

       dricker(x,b)/(1 - p.trunc)}
dricker.t(10, b=0.1)





Error in -b * x : non-numeric argument to binary operator

Alguma sugestão?

Obrigado.

--
Cristiano Strieder
São José dos Campos - SP
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
código mínimo reproduzível.

_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
mínimo reproduzível.




--
Cristiano Strieder
São José dos Campos - SP
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.




--
Successful people ask better questions, and as a result, they get
better answers. (Tony Robbins)
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.




--
Cristiano Strieder
São José dos Campos - SP
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

Responder a