
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 <beniltoncarvalho@gmail.com>:
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 <cstrieder@gmail.com>:
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 <paulojus@leg.ufpr.br>:
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 R-br@listas.c3sl.ufpr.br 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 R-br@listas.c3sl.ufpr.br 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 R-br@listas.c3sl.ufpr.br 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 R-br@listas.c3sl.ufpr.br 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 R-br@listas.c3sl.ufpr.br 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.