Seria um caso de R inferno?

Olá, Estava preparando um material didático para aulas de introdução à estatística, na parte das variáveis aleatórias contínuas e me deparei com um problema que ainda não encontrei resposta. Seria um caso de R inferno? # Função de densidade: chisq fchisq <- function(x, n) (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2) par(mfrow=c(1, 2)) plot(fchisq(x=1:100, n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## OK: a função fchisq está correta! plot(fchisq(x=seq(0, 50, len=100), n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## ? Gastei um bom tempo para perceber que o uso de "seq" não é correto nesses casos. Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\

Olá. Você pode utilizar o seq, mas desta forma. plot(fchisq( x=seq(1,100,by=1), n=10), from=0, to=100) curve( dchisq(x,10), col="red", lw=2, add=T) Aqui deu certo e ficou da maneira que você quer. Att Téo Calvo On 03-11-2014 08:03, Jose Claudio Faria wrote:
Olá,
Estava preparando um material didático para aulas de introdução à estatística, na parte das variáveis aleatórias contínuas e me deparei com um problema que ainda não encontrei resposta. Seria um caso de R inferno?
# Função de densidade: chisq fchisq <- function(x, n) (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2)
par(mfrow=c(1, 2)) plot(fchisq(x=1:100, n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## OK: a função fchisq está correta!
plot(fchisq(x=seq(0, 50, len=100), n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## ?
Gastei um bom tempo para perceber que o uso de "seq" não é correto nesses casos.
Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com <http://gmail.com> Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
_______________________________________________ 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.

Esqueci de mencionar: x=1:100 y=seq( from=1, to=100, by=1) y==x Talvez esclareça um pouco mais. Att Téo Calvo. On 03-11-2014 08:03, Jose Claudio Faria wrote:
Olá,
Estava preparando um material didático para aulas de introdução à estatística, na parte das variáveis aleatórias contínuas e me deparei com um problema que ainda não encontrei resposta. Seria um caso de R inferno?
# Função de densidade: chisq fchisq <- function(x, n) (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2)
par(mfrow=c(1, 2)) plot(fchisq(x=1:100, n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## OK: a função fchisq está correta!
plot(fchisq(x=seq(0, 50, len=100), n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) ## ?
Gastei um bom tempo para perceber que o uso de "seq" não é correto nesses casos.
Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com <http://gmail.com> Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\
_______________________________________________ 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.

Tô lendo pelo móvel e não testei, mas para ser equivalente tem que usar 101, não? seq(0, 100, by=1) seq(0, 100, length.out=101) Inclusive, se não me engano 101 é o padrão para o argumento n da curve. À disposição. Walmes.

Agora que pude testar o código, acho que encontrei a causa de falha. ## Função de densidade: chisq. fchisq <- function(x, n) (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2) par(mfrow=c(1, 2)) plot(fchisq(x=1:100, n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) plot(fchisq(x=seq(0, 50, len=100), n=10)) curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3) *## Estava sendo usado o INDEX e não o valor de x!!!* x <- seq(0, 50, length.out=101) plot(fchisq(x=x, n=10)~x) curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3) À disposição. Walmes.

Caros Téo e Walmes, Desculpe a demora na resposta: estava no campo sem web. Muito obrigado: ambas as soluções são satisfatórias! Ab, ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com Telefones: 55(73)3680.5545 - UESC 55(73)9966.9100 - VIVO 55(73)9100.7351 - TIM 55(73)8817.6159 - OI ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ On Mon, Nov 3, 2014 at 1:32 PM, walmes . <walmeszeviani@gmail.com> wrote:
Agora que pude testar o código, acho que encontrei a causa de falha.
## Função de densidade: chisq. fchisq <- function(x, n) (1/(2^(n/2)*gamma(n/2)))*x^(n/2-1)*exp(-x/2)
par(mfrow=c(1, 2)) plot(fchisq(x=1:100, n=10)) curve(dchisq(x, 10), col='red', lw=2, add=TRUE, n=1e3) plot(fchisq(x=seq(0, 50, len=100), n=10)) curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3)
*## Estava sendo usado o INDEX e não o valor de x!!!*
x <- seq(0, 50, length.out=101) plot(fchisq(x=x, n=10)~x) curve(dchisq(x, df=10), col='red', lw=2, add=TRUE, n=1e3)
À disposição. Walmes.
_______________________________________________ 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.
participantes (3)
-
Jose Claudio Faria
-
Téo Calvo
-
walmes .