Pintando os ladinhos de uma distribuição normal com o comando polygon {graphics}

Olá pessoal. Bem eu estava lendo um livro aqui, o The R Book do M. J Crawley(2007) E na pagina 212 tem uma figura que to tentando reproduzir mas num to conseguindo. A ideia é mais ou menos o seguinte. #Primeiro temos la um plot de uma curva de distribuição normal com 3 desvios: x<-seq(-3,3,0.01) y<-exp(-abs(x)^2) plot(x,y,type="l") #Dai se no exemplo dele ele fala que se trata de dados de alturas de pessoas, onde a media é 170cm e desvio padrão de 8cm #dai eu mudei o eixo X da seguinte forma altura<-170+(8*x) plot(altura,y,type="l") #dai o grafico fica com a a distribuição baseado no dados em questão altura e nao em unidades de desvio. #então chega o meu problema, ele nao deixo codigo de como faze o pintadinho de ver a chande de alguma coisa. #por exemplo, alturas menores de 162, qual a chance de ver alguem menor de 162. #eu vi naquelas listas de graficos que tem codigo que da pra marcar isso com o comando polygon #mas eu nao to conseguindo usalo direito pra isso, e no help dele os exemplos nao me ajudaram muito #algo assim plot(altura,y,type="l") polygon(c(146,162,162),pnorm(c(-3,-1,-3)),col="black") #mas eu nao quero fazer um triangulo, tinha que ser aquela curvinha seguindo os valores de y, mas ai como ter varios #valores de y ao longo dos de x pra fica bonitinho que eu nao to conseguindo, acho que olhando a figura da pra entender #minha duvida Obrigado a todos. -- Grato Augusto C. A. Ribas Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056

faltou uma leitura mais atenta do polygon()... media <- 170 stder <- 8 x <- seq(media-3*stder, media+3*stder, .01) y <- dnorm(x, media, stder) plot(x, y, type='l') abline(h=0, v=media, lty=2) ## parte inf hx <- seq(media-3*stder, media-2*stder, .01) hy <- dnorm(hx, media, stder) n <- length(hy) polygon(c(hx, rev(hx)), c(hy, rep(0, n)), col=2) ##parte sup hx <- seq(media+2*stder, media+3*stder, .01) hy <- dnorm(hx, media, stder) n <- length(hy) polygon(c(hx, rev(hx)), c(hy, rep(0, n)), col=2) 2011/4/1 Augusto Ribas <ribas.aca@gmail.com>:
Olá pessoal. Bem eu estava lendo um livro aqui, o The R Book do M. J Crawley(2007) E na pagina 212 tem uma figura que to tentando reproduzir mas num to conseguindo. A ideia é mais ou menos o seguinte.
#Primeiro temos la um plot de uma curva de distribuição normal com 3 desvios:
x<-seq(-3,3,0.01) y<-exp(-abs(x)^2) plot(x,y,type="l")
#Dai se no exemplo dele ele fala que se trata de dados de alturas de pessoas, onde a media é 170cm e desvio padrão de 8cm #dai eu mudei o eixo X da seguinte forma
altura<-170+(8*x) plot(altura,y,type="l")
#dai o grafico fica com a a distribuição baseado no dados em questão altura e nao em unidades de desvio. #então chega o meu problema, ele nao deixo codigo de como faze o pintadinho de ver a chande de alguma coisa. #por exemplo, alturas menores de 162, qual a chance de ver alguem menor de 162. #eu vi naquelas listas de graficos que tem codigo que da pra marcar isso com o comando polygon #mas eu nao to conseguindo usalo direito pra isso, e no help dele os exemplos nao me ajudaram muito #algo assim
plot(altura,y,type="l") polygon(c(146,162,162),pnorm(c(-3,-1,-3)),col="black")
#mas eu nao quero fazer um triangulo, tinha que ser aquela curvinha seguindo os valores de y, mas ai como ter varios #valores de y ao longo dos de x pra fica bonitinho que eu nao to conseguindo, acho que olhando a figura da pra entender #minha duvida
Obrigado a todos. -- Grato Augusto C. A. Ribas
Site Pessoal: http://augustoribas.heliohost.org Lattes: http://lattes.cnpq.br/7355685961127056
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
participantes (2)
-
Augusto Ribas
-
Benilton Carvalho