[R-br] Função não encontrada
. .
xkziloj em gmail.com
Terça Agosto 30 11:55:48 BRT 2011
func <- Vectorize(FUN=
function(y, frac, rate, sad, samp="Poisson", trunc=0, ...){
f0 <- function(y,frac,n) {
f1 <- function(y,frac,n){
dpois(y,frac*n)
}
dcom <- paste("d",deparse(substitute(sad)),sep="")
dots <- c(as.name("n"),list(...))
f2 <- function() call(dcom,dots)
f <- function(n){
f1(y,frac,n)*f2
}
myintegrate <- function() {
r <- 0
r1 <- 1
x1 <- 0
dx <- 20
while(r1 > 10e-500) {
r1 <- integrate(f,x1,x1+dx)$value
r <- r + r1
x1 <- x1 + dx
}
integrate(f,x1,Inf)$valu
}
myintegrate()
}
f0(y,frac,n)/(1-f0(trunc,frac,n))
},"y")
func(10, 0.1, 0.1, exp)
2011/8/30 . . <xkziloj em gmail.com>:
> ...pois é, tenho dúvida sobre a estrutura em geral da minha função,
> mas ontem estava funcionando deste jeito. Acho que f2 estava no
> workspace e eu não percebi, depois que reiniciei o computador não
> funcionou mais.
>
> Mas voltando ao ponto, redefini f2 como função agora. Só que dá outro erro
>
> Error in f1(y, frac, n) * f2 : non-numeric argument to binary operator
>
> Se puder me ajudar, ficarei muito agradecido.
>
>
> 2011/8/30 Rodrigo Coster <rcoster em gmail.com>:
>> f2 nao ta definida como função (olha como tu definiu f e f1 e compara com
>> f2)
>>
>> []'s
>>
>> 2011/8/30 . . <xkziloj em gmail.com>
>>>
>>> Olá pessoal,
>>>
>>> ao rodar a função abaixo, obtenho o erro
>>>
>>> Error in f(x, ...) : could not find function "f2"
>>>
>>> ...mas f2 está definida logo acima de f...
>>>
>>> Alguma dica?
>>>
>>> Obrigado.
>>>
>>> func <- Vectorize(FUN=
>>> function(y, frac, rate, sad, samp="Poisson", trunc=0, ...){
>>> f0 <- function(y,frac,n) {
>>> f1 <- function(y,frac,n){
>>> dpois(y,frac*n)
>>> }
>>> dcom <- paste("d",deparse(substitute(sad)),sep="")
>>> dots <- c(as.name("n"),list(...))
>>> f2 <- call(dcom,dots)
>>> f <- function(n){
>>> f1(y,frac,n)*f2(n)
>>> }
>>> myintegrate <- function() {
>>> r <- 0
>>> r1 <- 1
>>> x1 <- 0
>>> dx <- 20
>>> while(r1 > 10e-500) {
>>> r1 <- integrate(f,x1,x1+dx)$value
>>> r <- r + r1
>>> x1 <- x1 + dx
>>> }
>>> integrate(f,x1,Inf)$valu
>>> }
>>> myintegrate()
>>> }
>>> f0(y,frac,n)/(1-f0(trunc,frac,n))
>>> },"y")
>>>
>>> func(10, 0.1, 0.1, exp)
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em 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 em 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.
>>
>
Mais detalhes sobre a lista de discussão R-br