library(ggplot2)
library(ggrazor)
library(ggthemes)

dt_fx <- function(cat, week) {
  mean_1 <- runif(1, -5, 20)
  se_1 <- runif(1, 5, 10)
  mean_2 <- runif(1, -3, 18)
  se_2 <- runif(1, 4, 9)
  mean_3 <- runif(1, -5, 19)
  se_3 <- runif(1, 5, 9.5)
  mean_4 <- runif(1, -4, 21)
  se_4 <- runif(1, 5.5, 8.5)
  dt_1 <- data.frame(
    cat = cat, week = week, grp = "ADT",
    mean = mean_1, se = se_1, stringsAsFactors = F
  )
  dt_2 <- data.frame(
    cat = cat, week = week, grp = "Non-ADT",
    mean = mean_2, se = se_2, stringsAsFactors = F
  )
  dt_3 <- data.frame(
    cat = cat, week = week, grp = "ADT 2",
    mean = mean_3, se = se_3, stringsAsFactors = F
  )
  dt_4 <- data.frame(
    cat = cat, week = week, grp = "Non-ADT 2",
    mean = mean_4, se = se_4, stringsAsFactors = F
  )
  return(rbind(dt_1, dt_2))
}

dt <- NULL
for (i in c("Change in PR, ms", "Change in QRS, ms",
            "Change in QT, ms", "Change in QTc, ms")) {
  for (j in c(0, 6, 12, 24)) {
    dt <- rbind(dt, dt_fx(i, j))
  }
}


ggplot(dt, aes(week, mean, color = grp)) +
  geom_hline(yintercept = 0, color = "#DDDDDD") +
  geom_rangeframe(data = data.frame(x = c(0, 24), y = c(-10, 30)), 
                  aes(x, y), color = "#7F7F7F", show.legend = F) +
  geom_linerange(aes(ymin = mean - se, ymax = mean + se), 
                show.legend = F, position = position_dodge(0.5)) +
  geom_line(show.legend = F, position = position_dodge(0.5)) +
  geom_point(position = position_dodge(0.5)) +
  facet_wrap(~cat) + 
  scale_x_continuous(breaks = c(0, 6, 12, 24)) +
  scale_color_ifar(discrete = T) +
  theme_razor() +
  theme(axis.line = element_blank()) +
  xlab("Weeks")


hebrewseniorlife/ggrazor documentation built on May 26, 2019, 9:31 a.m.