Deisy,

COnsegui... ficou assim...

x %<>%
  mutate(Visita_num = as.numeric(as.factor(Visita)))
y <- x %>%
  ggplot() +
  aes(x = Visita_num,
      y = Titulos,
      group = id)+
  geom_line(colour = "lightgreen",
            show.legend = FALSE) +
  geom_smooth(aes(group = 1),
              method = lm,
              colour = "red",
              na.rm = TRUE) +
  facet_grid(rows = vars(Inicial),
             cols = vars(Reforço))+
  theme_light() +
  labs(y = "Titulos de anticorpos",
       x = "Visitas de seguimento")
y + scale_y_continuous(sec.axis = dup_axis(
  name = "Reforço",
  labels = NULL,
  breaks = NULL)) +
  scale_x_continuous(breaks = seq(1,max(y$data$Visita_num,1)),
                     labels = paste0("Visita ",unique(y$data$Visita_num)),
                     sec.axis = dup_axis(
    name = "Esquema Inicial",
    labels = NULL,
    breaks = NULL))

Pedro Brasil


Em qui., 3 de fev. de 2022 às 14:41, Pedro Emmanuel Alvarenga Americano do Brasil <emmanuel.brasil@gmail.com> escreveu:
Ei Deisy, 

Quase isso. Bem perto. A questão agora com o que voce mandou e com o que eu tentei é que os ticks e os valores do eixo nao estão na posição original. 

y <- x %>%
  ggplot() +
  aes(x = Visita,
      y = Titulos,
      group = id)+
  geom_line(colour = "lightgreen",
            show.legend = FALSE) +
  geom_smooth(aes(group = 1),
              method = lm,
              colour = "red",
              na.rm = TRUE) +
  facet_grid(rows = vars(Inicial),
             cols = vars(Reforço))+
  theme_light() +
  labs(y = "Titulos de anticorpos",
       x = "Visitas de seguimento")

y + scale_y_discrete(, position = "right") +
    scale_x_discrete("Esquema inicial", position = "top")
# Talvez se conseguisse duplicar o eixo aqui,  funcionaria mas não estou sabendo como. 

Pedro Brasil


Em qui., 3 de fev. de 2022 às 13:00, Deisy Gysi por (R-br) <r-br@listas.c3sl.ufpr.br> escreveu:
Nao tenho certeza se entendi exatamente o que vc quer fazer... 
Mas para colocar os titulos nas margens vc pode criar novos eixos (x e y). 

att, 
d

require(ggplot2)
require(magrittr)
require(dplyr)

x <- rbind(
  data.frame(id = 1:20,
             Visita = "Visita 1",
             Inicial = "Vacina 1",
             Reforço = "Vacina 1",
             Titulos =  rnorm(20, 20, 5)),
  data.frame(id = 1:20,
             Visita = "Visita 2",
             Inicial = "Vacina 1",
             Reforço = "Vacina 1",
             Titulos =  rnorm(20, 30, 5)),
  #
  data.frame(id = 21:40,
             Visita = "Visita 1",
             Inicial = "Vacina 2",
             Reforço = "Vacina 1",
             Titulos =  rnorm(20, 40, 5)),
  data.frame(id = 21:40,
             Visita = "Visita 2",
             Inicial = "Vacina 2",
             Reforço = "Vacina 1",
             Titulos =  rnorm(20, 50, 5)),
  #
  data.frame(id = 41:60,
             Visita = "Visita 1",
             Inicial = "Vacina 1",
             Reforço = "Vacina 2",
             Titulos =  rnorm(20, 15, 5)),
  data.frame(id = 41:60,
             Visita = "Visita 2",
             Inicial = "Vacina 1",
             Reforço = "Vacina 2",
             Titulos =  rnorm(20, 30, 5)),
  #
  data.frame(id = 61:80,
             Visita = "Visita 1",
             Inicial = "Vacina 2",
             Reforço = "Vacina 2",
             Titulos =  rnorm(20, 15, 5)),
  data.frame(id = 61:80,
             Visita = "Visita 2",
             Inicial = "Vacina 2",
             Reforço = "Vacina 2",
             Titulos =  rnorm(60, 30, 5)))
head(x)
# Fazendo o grafico...
x %<>%
  mutate(Visita_cat = as.numeric(as.factor(Visita)))
x %>%
  ggplot() +
  aes(x = Visita_cat,
      y = Titulos,
      group = id)+
  geom_line(colour = "lightgreen",
            show.legend = FALSE) +
  geom_smooth(aes(group = 1),
              method = lm,
              colour = "red",
              na.rm = TRUE) +
  facet_grid(rows = vars(Inicial),
             cols = vars(Reforço))+
  scale_y_continuous(sec.axis = dup_axis(name = "Reforço")) +
  scale_x_continuous(sec.axis = dup_axis(name = "Esquema inicial")) +
  theme_light() +
  theme(axis.title.x.top = element_text())+
  labs(y = "Titulos de anticorpos",
       x = "Visitas de seguimento")


plot(as.numeric(x$Visita_cat), x$Titulos, type = "l")
mtext("Esquema inicial", side = 3)
mtext("Reforço", side = 4)


Deisy Morselli Gysi, PhD

Associate Research Scientist
Center for Complex Networks Research - BarabasiLab
Northeastern University, Boston, Massachusetts
Pronouns: She/Her/Hers

The flower that blooms in adversity is the most rare and beautiful of all. Mulan (Disney)

Email Etiquette: Just because I e-mail at odd hours does not mean I expect you to.


On Thu, 3 Feb 2022 at 08:04, Pedro Emmanuel Alvarenga Americano do Brasil por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Amigos de R,

Saudações a todos. Gostaria de colocar um texto nas margens superior e direita do gráfico de tal forma que eu consiga diferenciar duas variáveis que têm as mesmas categorias. No graphics seria equivalente a função mtext(). Por exemplo... 
plot(bla bla bla)
mtext("Esquema inicial", side = 3)
mtext("Reforço", side = 4)

Mas no ggplot não estou sabendo fazer. Alguma luz?
# Simulando os dados
x <- rbind(
data.frame(id = 1:20,
           Visita = "Visita 1",
           Inicial = "Vacina 1",
           Reforço = "Vacina 1",
           Titulos =  rnorm(20, 20, 5)),
data.frame(id = 1:20,
           Visita = "Visita 2",
           Inicial = "Vacina 1",
           Reforço = "Vacina 1",
           Titulos =  rnorm(20, 30, 5)),
#
data.frame(id = 21:40,
           Visita = "Visita 1",
           Inicial = "Vacina 2",
           Reforço = "Vacina 1",
           Titulos =  rnorm(20, 40, 5)),
data.frame(id = 21:40,
           Visita = "Visita 2",
           Inicial = "Vacina 2",
           Reforço = "Vacina 1",
           Titulos =  rnorm(20, 50, 5)),
#
data.frame(id = 41:60,
           Visita = "Visita 1",
           Inicial = "Vacina 1",
           Reforço = "Vacina 2",
           Titulos =  rnorm(20, 15, 5)),
data.frame(id = 41:60,
           Visita = "Visita 2",
           Inicial = "Vacina 1",
           Reforço = "Vacina 2",
           Titulos =  rnorm(20, 30, 5)),
#
data.frame(id = 61:80,
           Visita = "Visita 1",
           Inicial = "Vacina 2",
           Reforço = "Vacina 2",
           Titulos =  rnorm(20, 15, 5)),
data.frame(id = 61:80,
           Visita = "Visita 2",
           Inicial = "Vacina 2",
           Reforço = "Vacina 2",
           Titulos =  rnorm(60, 30, 5)))
head(x)
# Fazendo o grafico...
ggplot(x,
       aes(x = Visita,
           y = Titulos,
           group = id)) +
  geom_line(colour = "lightgreen",
            show.legend = FALSE) +
  geom_smooth(aes(group = 1),
              method = lm,
              colour = "red",
              na.rm = TRUE) +
  facet_grid(rows = vars(Inicial),
             cols = vars(Reforço))+
  theme_light() +
  ylab("Titulos de anticorpos") +
  xlab("Visitas de seguimento")

Abraços fraternos,

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