[R-br] gráficos com bandas de confiança no R - com sombra

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[R-br] gráficos com bandas de confiança no R - com sombra

R-br mailing list
Pessoal, gostaria de fazer um gráfico conforme o anexo, cujo o intervalo de
confiança fique com formato de sombra dentro do gráfico. Conforme figura
anexada:  


Como tentativa usei o  *polygon*, mas não sei se existe um outro recurso
melhor. Se alguém souber e puder contribuir, a lista do R agradece. Segue o
código:

 x <- seq(1:30)
Y <- x + rnorm(30, 0,3)
model <-  lm(Y ~ x)
pred <- data.frame(x1 = x)
pred$y1 <- predict(model, newdata = pred, interval = "confidence")
plot(consumo, type = "n",
     main = "Consumo médio, kg",
     xlab = "Consumo estimado, kg ",
     ylab = "Consumo observado, kg" )
icfit = pred$y1
yy = c(as.numeric(as.vector(icfit[,2])),
rev(as.numeric(as.vector(icfit[,3]))))
xx = c(x, rev(x))
polygon(xx, yy, col = "lightsteelblue2", border = NA)
points(consumo)
abline(model, col="blue", lwd= 2)
points(seq(2:15), seq(2:15), type = "l", col = "green", lwd = 2)
legend("topright", legend = c("modelo linear base y = x",
                              "modelo ajustado", "Bandas de confiança, 95%"
),       lty = c(1,1,1), col = c("green", "blue", "lightsteelblue2"),
       lwd = c(2,2,NA), bty = "n", pch = c(NA,NA, 15))  

_______________________________________________
R-br mailing list
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] gráficos com bandas de confiança no R - com sombra

R-br mailing list
Oi Nilson, 

Infelizmente seu CMR ainda não é totalmente reproduzível. Note que você chama plot(consumo...), mas não há nenhum objeto "consumo" até então. Substituindo "consumo" por "x"  e "Y" o código funciona. 

Sugiro que você tente fazer o que quer no ggplot e use geom_ribbon para isso. Há muitos exemplos disponíveis, creio que algum servirá para o seu propósito. 


Um abraço
Nicolay

-----------------------------------------------------------------------
Grupo de Ecología de la Polinización
(https://sites.google.com/view/ecopol/home)
INIBIOMA, CONICET-Universidad Nacional del Comahue
Quintral 1250
8400 San Carlos de Bariloche
Rio Negro, Argentina
-----------------------------------------------------------------------

On Thu, Sep 5, 2019 at 6:12 PM Nilson Guiotoku por (R-br) <[hidden email]> wrote:
Pessoal, gostaria de fazer um gráfico conforme o anexo, cujo o intervalo de
confiança fique com formato de sombra dentro do gráfico. Conforme figura
anexada:  


Como tentativa usei o  *polygon*, mas não sei se existe um outro recurso
melhor. Se alguém souber e puder contribuir, a lista do R agradece. Segue o
código:

 x <- seq(1:30)
Y <- x + rnorm(30, 0,3)
model <-  lm(Y ~ x)
pred <- data.frame(x1 = x)
pred$y1 <- predict(model, newdata = pred, interval = "confidence")
plot(consumo, type = "n",
     main = "Consumo médio, kg",
     xlab = "Consumo estimado, kg ",
     ylab = "Consumo observado, kg" )
icfit = pred$y1
yy = c(as.numeric(as.vector(icfit[,2])),
rev(as.numeric(as.vector(icfit[,3]))))
xx = c(x, rev(x))
polygon(xx, yy, col = "lightsteelblue2", border = NA)
points(consumo)
abline(model, col="blue", lwd= 2)
points(seq(2:15), seq(2:15), type = "l", col = "green", lwd = 2)
legend("topright", legend = c("modelo linear base y = x",
                              "modelo ajustado", "Bandas de confiança, 95%"
),       lty = c(1,1,1), col = c("green", "blue", "lightsteelblue2"),
       lwd = c(2,2,NA), bty = "n", pch = c(NA,NA, 15))  
_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] gráficos com bandas de confiança no R - com sombra

R-br mailing list
Considere esses exemplos


Usando a graphics com código reproduzível

m0 <- lm(dist ~ poly(speed, degree = 2), data = cars)

grid <- with(cars,
             data.frame(speed = seq(min(speed),
                                    max(speed),
                                    length.out = 31)))

mat <- predict(m0, newdata = grid, interval = "confidence")

grid <- cbind(grid, as.data.frame(mat))
str(grid)

plot(dist ~ speed, data = cars, type = "n")
with(grid, polygon(x = c(speed, rev(speed)),
                   y = c(lwr, rev(upr)),
                   col = "gray",
                   border = NA))
lines(fit ~ speed, data = grid)
points(dist ~ speed, data = cars)


À disposição.
Walmes.


_______________________________________________
R-br mailing list
[hidden email]
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.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] gráficos com bandas de confiança no R - com sombra

R-br mailing list
Tenta Hmisc::rm.boot

Pedro Brasil


Em sex, 6 de set de 2019 às 09:57, Walmes Zeviani por (R-br) <[hidden email]> escreveu:
Considere esses exemplos


Usando a graphics com código reproduzível

m0 <- lm(dist ~ poly(speed, degree = 2), data = cars)

grid <- with(cars,
             data.frame(speed = seq(min(speed),
                                    max(speed),
                                    length.out = 31)))

mat <- predict(m0, newdata = grid, interval = "confidence")

grid <- cbind(grid, as.data.frame(mat))
str(grid)

plot(dist ~ speed, data = cars, type = "n")
with(grid, polygon(x = c(speed, rev(speed)),
                   y = c(lwr, rev(upr)),
                   col = "gray",
                   border = NA))
lines(fit ~ speed, data = grid)
points(dist ~ speed, data = cars)


À disposição.
Walmes.

_______________________________________________
R-br mailing list
[hidden email]
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
[hidden email]
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.