[R-br] xyplot: incluir equação e r2 no gráfico

2019-05-26 Por tôpico Maurício Lordêlo por (R-br)
Caros,
Preciso incluir as equações do modelo ajustado e o R2 no gráfico construído
usando a função "xyplot" do pacote "lattice". Usei para o código mínimo
reproduzível os dados do próprio pacote mas não deu certo.
Agradeço quem puder auxiliar.
Maurício

library(lattice)
str(iris)
table(iris$Species)
iris_setosa = subset(iris, Species =="setosa")
mod1 = lm(Sepal.Length ~ Petal.Length, data=iris_setosa)
iris_versicolor = subset(iris, Species =="versicolor")
mod2 = lm(Sepal.Length ~ Petal.Length, data=iris_versicolor)
iris_virginica = subset(iris, Species =="virginica")
mod3 = lm(Sepal.Length ~ Petal.Length, data=iris_virginica)

tp_mod1 = sprintf("%s = %.2f + %.2f%s", "Y",
  coef(mod1)[1], coef(mod1)[2], "X")
r2_mod1 = cor(iris_setosa$Sepal.Length, fitted(mod1))^2

tp_mod2 = sprintf("%s = %.1f + %.2f %s", "Y",
  coef(mod2)[1], coef(mod2)[2], "X")
r2_mod2 = cor(iris_versicolor$Sepal.Length, fitted(mod2))^2

tp_mod3 = sprintf("%s = %.1f + %.2f %s", "Y",
  coef(mod3)[1], coef(mod3)[2], "X")
r2_mod3 = cor(iris_virginica$Sepal.Length, fitted(mod3))^2

tp_mod1;r2_mod1
tp_mod2;r2_mod2
tp_mod3;r2_mod3
##Necessito em cada "tp_mod" incluir o r2 logo abaixo da respectiva
equação###

mypanel<-function(x,y,...)
{
  panel.xyplot(x, y, ...)
  panel.abline(mod1)
  panel.abline(mod2)
  panel.abline(mod3)
  panel.text(4,7,labels=tp_mod1)
  panel.text(3,8,labels=tp_mod2)
  panel.text(2,7,labels=tp_mod3)
}
#O gráfico gerado:
xyplot(Sepal.Length ~ Petal.Length | Species,panel = mypanel,
   data = iris,
   strip = strip.custom(par.strip.text = list(font = 3)))
___
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.

Re: [R-br] Acrescentar nomes no eixo x

2019-02-20 Por tôpico Maurício Lordêlo por (R-br)
Grato Cleber!
Sempre bom saber que existem outras opções.


Em ter, 19 de fev de 2019 às 18:10, Cleber N.Borges por (R-br) <
r-br@listas.c3sl.ufpr.br> escreveu:

>
> # talvez usando *matplot* simplifica um pouco tb
>
> # com a flag xaxt='n', retira os rótulos dos eixos
>
> estacao = as.factor(c("Outono","Inverno","Primavera","Verão"))
> x = 1:4
> y1 = rnorm(4, 3,1)
> y2 = rnorm(4, 3, 1)
> y3 = rnorm(4, 4, 1.5)
> y4 = rnorm(4, 3.5, 1)
>
> d <- data.frame( y1, y2, y3, y4 )
>
> matplot( d, lwd=1,type='b', xlab = 'Estação',ylab ="ETo
> (mm/d)",ylim=c(0,6),  xaxt='n', pch=19 )
>
> axis(1, at=1:4, labels=estacao )
>
>   com a flag *las* rotaciona as labels
> axis(1, at=1:4, labels=estacao, las=2)
>
>
>
> Em 19/02/2019 17:23, Marcus Nunes por (R-br) escreveu:
>
> Se entendi corretamente o problema, use
>
> axis(1, at=1:4, labels=estacao)
>
> Este foi o resultado que obtive: https://imgur.com/a/RohP2ni
> --
> Marcus Nunes
>
>
>
> On Tue, Feb 19, 2019 at 5:15 PM Maurício Lordêlo por (R-br) <
> r-br@listas.c3sl.ufpr.br> wrote:
>
>> Olá!
>> Preciso colocar nomes no eixo X de um gráfico feito usando a função
>> plot().
>> Cada valor do "y" corresponde a uma estação do ano.
>> Segue o script:
>>
>> estacao = as.factor(c("Outono","Inverno","Primavera","Verão"))
>> x = 1:4
>> y1 = rnorm(4, 3,1)
>> y2 = rnorm(4, 3, 1)
>> y3 = rnorm(4, 4, 1.5)
>> y4 = rnorm(4, 3.5, 1)
>> data.frame(y1,y2,y3,y4,estacao)
>> plot(y1~x, axes= FALSE,lwd=1,type='b', xlab = 'Estação',ylab ="ETo
>> (mm/d)",ylim=c(0,6))
>> lines(y2~x,col="red",type="b")
>> lines(y3~x,col="green",type="b")
>> lines(y4~x,col="black",type="b")
>> axis(2)
>> #os dois comandos abaixo foram tentativas que não deram certo:
>> axis(1, names("estacao"))
>> axis(1, at=c("Outono","Inverno","Primavera","Verão"))
>>
>> legend(1.5,6,c("M1","M2","M3","M4"),
>>col = 1:4,
>>lty = rep(1,4),
>>horiz=T,
>>ncol = 1)
>>
>> Agradeço caso tenham alguma sugestão.
>>
>> Maurício
>> ___
>> 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 
> listr...@listas.c3sl.ufpr.brhttps://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.
>
>
>
>
> <https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=emailclient>
>  Livre
> de vírus. www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email_source=link_campaign=sig-email_content=emailclient>.
> <#m_7089969374740185758_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
> ___
> 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.

Re: [R-br] Acrescentar nomes no eixo x

2019-02-19 Por tôpico Maurício Lordêlo por (R-br)
Muito obrigado Marcus!

Em ter, 19 de fev de 2019 às 17:24, Marcus Nunes por (R-br) <
r-br@listas.c3sl.ufpr.br> escreveu:

> Se entendi corretamente o problema, use
>
> axis(1, at=1:4, labels=estacao)
>
> Este foi o resultado que obtive: https://imgur.com/a/RohP2ni
> --
> Marcus Nunes
> Professor Adjunto
> Universidade Federal do Rio Grande do Norte
> Centro de Ciências Exatas e da Terra
> Departamento de Estatística
> Laboratório de Estatística Aplicada
> mar...@marcusnunes.me
> https://marcusnunes.me/
> http://shiny.estatistica.ccet.ufrn.br
> https://tinyletter.com/mnunes
>
>
>
> On Tue, Feb 19, 2019 at 5:15 PM Maurício Lordêlo por (R-br) <
> r-br@listas.c3sl.ufpr.br> wrote:
>
>> Olá!
>> Preciso colocar nomes no eixo X de um gráfico feito usando a função
>> plot().
>> Cada valor do "y" corresponde a uma estação do ano.
>> Segue o script:
>>
>> estacao = as.factor(c("Outono","Inverno","Primavera","Verão"))
>> x = 1:4
>> y1 = rnorm(4, 3,1)
>> y2 = rnorm(4, 3, 1)
>> y3 = rnorm(4, 4, 1.5)
>> y4 = rnorm(4, 3.5, 1)
>> data.frame(y1,y2,y3,y4,estacao)
>> plot(y1~x, axes= FALSE,lwd=1,type='b', xlab = 'Estação',ylab ="ETo
>> (mm/d)",ylim=c(0,6))
>> lines(y2~x,col="red",type="b")
>> lines(y3~x,col="green",type="b")
>> lines(y4~x,col="black",type="b")
>> axis(2)
>> #os dois comandos abaixo foram tentativas que não deram certo:
>> axis(1, names("estacao"))
>> axis(1, at=c("Outono","Inverno","Primavera","Verão"))
>>
>> legend(1.5,6,c("M1","M2","M3","M4"),
>>col = 1:4,
>>lty = rep(1,4),
>>horiz=T,
>>ncol = 1)
>>
>> Agradeço caso tenham alguma sugestão.
>>
>> Maurício
>> ___
>> 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.
___
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] Acrescentar nomes no eixo x

2019-02-19 Por tôpico Maurício Lordêlo por (R-br)
Olá!
Preciso colocar nomes no eixo X de um gráfico feito usando a função plot().
Cada valor do "y" corresponde a uma estação do ano.
Segue o script:

estacao = as.factor(c("Outono","Inverno","Primavera","Verão"))
x = 1:4
y1 = rnorm(4, 3,1)
y2 = rnorm(4, 3, 1)
y3 = rnorm(4, 4, 1.5)
y4 = rnorm(4, 3.5, 1)
data.frame(y1,y2,y3,y4,estacao)
plot(y1~x, axes= FALSE,lwd=1,type='b', xlab = 'Estação',ylab ="ETo
(mm/d)",ylim=c(0,6))
lines(y2~x,col="red",type="b")
lines(y3~x,col="green",type="b")
lines(y4~x,col="black",type="b")
axis(2)
#os dois comandos abaixo foram tentativas que não deram certo:
axis(1, names("estacao"))
axis(1, at=c("Outono","Inverno","Primavera","Verão"))

legend(1.5,6,c("M1","M2","M3","M4"),
   col = 1:4,
   lty = rep(1,4),
   horiz=T,
   ncol = 1)

Agradeço caso tenham alguma sugestão.

Maurício
___
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.