[R-br] ggplot2_apresentar equação no gráfico

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

[R-br] ggplot2_apresentar equação no gráfico

R-br mailing list
Olá pessoal,

Sabem se é possível plotar a equação especifica (e talvez o R2) gerada pelo geom_smooth quando se usa a opção facet_wrap?
Estou interessado no valor que multiplica o 'x' da equação.
Alguém poderia me dar uma luz de qual o critério é usado para o ajuste dessa equação no geom_smooth?

- Dados em anexo.
- Script:
db <- read.csv('data.csv', sep = ';', dec = '.', header = T)
tiff(filename=paste0("graph.tiff"), width = 2000, height = 1000, res=300)
ggplot(db, aes(y=y, x=x)) +
  geom_point(aes(shape=type))+
  facet_wrap(~type) +
  geom_smooth(method = lm, formula = y ~ exp(-x), se = FALSE)
dev.off()

Obrigado
Henrique

_______________________________________________
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.

data.csv (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] ggplot2_apresentar equação no gráfico

R-br mailing list
Você pode gerar um modelo utilizando a função lm e extrair os coeficientes.

De acordo com https://stackoverflow.com/questions/30144785/how-to-extract-intercept-and-slope-from-a-plot-for-large-number-of-variables ,
no seu caso ficaria assim:

db %>%
  group_by(type) %>%
  do({
    mod = lm(y ~ exp(-x), data = .)
    data.frame(Intercept = coef(mod)[1],
               Slope = coef(mod)[2])
  })

Cayan

_____________________________________
Sent from http://r-br.2285057.n4.nabble.com

_______________________________________________
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 fornea cdigo mnimo reproduzvel.
Reply | Threaded
Open this post in threaded view
|

Re: [R-br] ggplot2_apresentar equação no gráfico

R-br mailing list
Obrigado Cayan.

Todavia, acho que não me expressei direito com relação ao que procuro.

Saberia me dizer se nessa equação y ~ exp(-x) tem algum número que multiplica o 'x' ?
Tem como escrever essa equação, por exemplo, y ~ exp(-xz). O 'z' que gostaria de descobrir/ajustar, se for possível com essa função.

Outra dificuldade, é plotar a equação usando o facet_wrap, ou seja, uma equação (y ~ exp(-xz)) e regressão (a, b, R²) para cada gráfico. Não sei se isso é possível ou se é melhor fazer um loop para cada gráfico.

Perdão a falha ao explicar. Nem sei se é possível ou não, mas está ai para discussão.
Obrigado mais uma vez.

Henrique


Em Terça-feira, 5 de Junho de 2018 1:21, Cayan Portela via R-br <[hidden email]> escreveu:


Você pode gerar um modelo utilizando a função lm e extrair os coeficientes.

no seu caso ficaria assim:

db %>%
  group_by(type) %>%
  do({
    mod = lm(y ~ exp(-x), data = .)
    data.frame(Intercept = coef(mod)[1],
              Slope = coef(mod)[2])
  })

Cayan

_____________________________________

_______________________________________________
R-br mailing list
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo mnimo reproduzvel.



_______________________________________________
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] ggplot2_apresentar equação no gráfico

R-br mailing list
Henrique,

Se você está pedindo para o SW, via  geom_smooth(method = lm, formula = y ~ exp(-x), se = FALSE) fazer o alisamento de uma curva usando a equação y ~ exp(-x), como você esperaria que o SW "adivinhasse" que você quer calcular um coeficiente para o expoente?

Por outro lado, se você está se perguntando qual coeficiente poderia ser usado para fazer uma equação fechada considerando as duas curvas, bastaria você pegar os dados do procedimento proposto por Cayan e dividir os coeficientes para obter o fator, não seria isso?

HTH
--
Cesar Rabak



2018-06-04 20:29 GMT-03:00 Henrique Boriolo Dias via R-br <[hidden email]>:
Obrigado Cayan.

Todavia, acho que não me expressei direito com relação ao que procuro.

Saberia me dizer se nessa equação y ~ exp(-x) tem algum número que multiplica o 'x' ?
Tem como escrever essa equação, por exemplo, y ~ exp(-xz). O 'z' que gostaria de descobrir/ajustar, se for possível com essa função.

Outra dificuldade, é plotar a equação usando o facet_wrap, ou seja, uma equação (y ~ exp(-xz)) e regressão (a, b, R²) para cada gráfico. Não sei se isso é possível ou se é melhor fazer um loop para cada gráfico.

Perdão a falha ao explicar. Nem sei se é possível ou não, mas está ai para discussão.
Obrigado mais uma vez.

Henrique


Em Terça-feira, 5 de Junho de 2018 1:21, Cayan Portela via R-br <[hidden email]> escreveu:


Você pode gerar um modelo utilizando a função lm e extrair os coeficientes.

no seu caso ficaria assim:

db %>%
  group_by(type) %>%
  do({
    mod = lm(y ~ exp(-x), data = .)
    data.frame(Intercept = coef(mod)[1],
              Slope = coef(mod)[2])
  })

Cayan

_____________________________________

_______________________________________________
R-br mailing list
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo mnimo reproduzvel.



_______________________________________________
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] ggplot2_apresentar equação no gráfico

R-br mailing list
Pois é,
Acho que to misturando tudo. Enfim, vou estudar melhor antes.
Obrigado pelas sugestões e esclarecimentos.
Henrique


Em Terça-feira, 5 de Junho de 2018 10:25, Cesar Rabak <[hidden email]> escreveu:


Henrique,

Se você está pedindo para o SW, via  geom_smooth(method = lm, formula = y ~ exp(-x), se = FALSE) fazer o alisamento de uma curva usando a equação y ~ exp(-x), como você esperaria que o SW "adivinhasse" que você quer calcular um coeficiente para o expoente?

Por outro lado, se você está se perguntando qual coeficiente poderia ser usado para fazer uma equação fechada considerando as duas curvas, bastaria você pegar os dados do procedimento proposto por Cayan e dividir os coeficientes para obter o fator, não seria isso?

HTH
--
Cesar Rabak



2018-06-04 20:29 GMT-03:00 Henrique Boriolo Dias via R-br <[hidden email]>:
Obrigado Cayan.

Todavia, acho que não me expressei direito com relação ao que procuro.

Saberia me dizer se nessa equação y ~ exp(-x) tem algum número que multiplica o 'x' ?
Tem como escrever essa equação, por exemplo, y ~ exp(-xz). O 'z' que gostaria de descobrir/ajustar, se for possível com essa função.

Outra dificuldade, é plotar a equação usando o facet_wrap, ou seja, uma equação (y ~ exp(-xz)) e regressão (a, b, R²) para cada gráfico. Não sei se isso é possível ou se é melhor fazer um loop para cada gráfico.

Perdão a falha ao explicar. Nem sei se é possível ou não, mas está ai para discussão.
Obrigado mais uma vez.

Henrique


Em Terça-feira, 5 de Junho de 2018 1:21, Cayan Portela via R-br <[hidden email]> escreveu:


Você pode gerar um modelo utilizando a função lm e extrair os coeficientes.

no seu caso ficaria assim:

db %>%
  group_by(type) %>%
  do({
    mod = lm(y ~ exp(-x), data = .)
    data.frame(Intercept = coef(mod)[1],
              Slope = coef(mod)[2])
  })

Cayan

______________________________ _______

______________________________ _________________
R-br mailing list
Leia o guia de postagem (http://www.leg.ufpr.br/r-br- guia) e fornea cdigo mnimo reproduzvel.



______________________________ _________________
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.