user55546
user55546

Reputation: 62

Adjusted regression line considering different factors in ggplot2

I'm trying to reproduce the graph below, where the internal lines are the adjusted regression lines:

However, due to some factor, it is not being plotted what it should be, that is, a single line is being presented, and more, the different concentrations of the variable "teor" are not being plotted as in the image above, see the result below:

dados = read.table("datanew.csv", header = T, sep=";", dec=","); head(dados)
dados$Trat <- factor(dados$Trat)
dados$Teor <- factor(dados$Teor)
dadosnew$Tempo = as.factor(dadosnew$Tempo)

my.formula <- y ~ x
p = ggplot(dadosnew, aes(x = Tempo, y = massaseca, group = Fator)) +
  stat_summary(geom = "point", fun = mean) + 
  stat_smooth(method = "lm", se=FALSE,  formula=y ~ poly(x, 2, raw=TRUE)) + stat_poly_eq(formula = my.formula,
                                                                                         eq.with.lhs = "As-italic(hat(y))~`=`~",
                                                                                         aes(label = paste(..eq.label.., ..rr.label.., sep = "*plain(\",\")~")), 
                                                                                         parse = TRUE, size = 5, label.y = 35)+
  labs(title = "",
       x = "Time (Minutes)",
       y = "Weight (mg)") + theme_bw() +
  theme(axis.title = element_text(size = 23,color="black"),
        axis.text = element_text(size = 18,color="black"),
        text = element_text(size = 50,color="black"),
        legend.position = "none") + facet_wrap(~Fator)
p 

Upvotes: 2

Views: 224

Answers (1)

Duck
Duck

Reputation: 39623

You would need another grouping variable like this:

#Code
my.formula <- y ~ x
ggplot(dadosnew, aes(x = Tempo, y = massaseca, group = interaction(Fator,Trat))) +
  stat_summary(geom = "point", fun = mean) + 
  stat_smooth(method = "lm", se=FALSE,  formula=y ~ poly(x, 2, raw=TRUE)) +
  stat_poly_eq(formula = my.formula,eq.with.lhs = "As-italic(hat(y))~`=`~",
               aes(label = paste(..eq.label.., ..rr.label.., sep = "*plain(\",\")~")),
               parse = TRUE, size = 5, label.y = 35)+
  labs(title = "",
       x = "Time (Minutes)",
       y = "Weight (mg)") + theme_bw() +
  theme(axis.title = element_text(size = 23,color="black"),
        axis.text = element_text(size = 18,color="black"),
        text = element_text(size = 50,color="black"),
        legend.position = "none") + facet_wrap(~Fator)

Output:

enter image description here

Which you, as researcher, should define.

Upvotes: 2

Related Questions