plots in ggplot2

df <- data.frame(
  group = rep(LETTERS[1:4], each=25),
  var1 = rnorm(100, 100, 5),
  var2 = rnorm(100, 100, 10),
  var3 = rnorm(100, 100, 15)
); df %>% head
##   group      var1      var2      var3
## 1     A 101.23569 102.23552 115.87668
## 2     A  96.15308  92.74089  89.71213
## 3     A  96.52349 100.10860 103.20212
## 4     A 114.04296  77.48346  98.64264
## 5     A  94.86005  97.12961  84.52902
## 6     A  97.91640  99.33850 105.11337

geom_boxplot

p1 <- df %>% ggplot() +
  geom_boxplot(aes(x = var1))
p2 <- df %>% ggplot() +
  geom_boxplot(aes(y = var1))
gridExtra::grid.arrange(p1, p2, nrow = 1)

df %>% 
  pivot_longer(cols = c(var1, var2, var3), names_to = "cols", values_to = "value") %>% 
  ggplot(aes(y = value, fill = cols)) +
  geom_boxplot()

geom_histogram

p1 <- df %>% 
  ggplot(aes(x = var1)) +
  geom_histogram(bins = 10)
p2 <- df %>% 
  ggplot(aes(y = var1)) +
  geom_histogram(bins = 30)
gridExtra::grid.arrange(p1, p2, nrow = 2)

p1 <- df %>% 
  pivot_longer(cols = c(var1, var2, var3), names_to = "cols", values_to = "value") %>% 
  ggplot(aes(x = value, fill = cols)) +
  geom_histogram(alpha = 0.5)
p2 <- df %>% 
  pivot_longer(cols = c(var1, var2, var3), names_to = "cols", values_to = "value") %>% 
  ggplot(aes(x = value, fill = cols)) +
  geom_histogram(alpha = 0.5, position = "identity")
gridExtra::grid.arrange(p1, p2, nrow = 2)

geom_point

p1 <- df %>% 
  ggplot(aes(x = var1, y = var2)) +
  geom_point(aes(col = group))
p2 <- df %>% 
  ggplot(aes(x = var1, y = var3)) +
  geom_point(aes(col = group))
gridExtra::grid.arrange(p1, p2, nrow = 2)

df %>% 
  pivot_longer(cols = c(var2, var3), names_to = "cols", values_to = "value") %>% 
  ggplot(aes(x = var1, y = value)) +
  geom_point(aes(col = cols), alpha = 0.5) +
  geom_smooth()

### geom_line

p1 <- df %>% 
  mutate(var4 = var1+var2+var3) %>% 
  ggplot(aes(x = var1, y = var4)) +
  geom_line()
p2 <- df %>% 
  mutate(var4 = var1+var2+var3) %>% 
  ggplot(aes(x = var1, y = var4)) +
  geom_line(aes(col = group))
gridExtra::grid.arrange(p1, p2, nrow = 2)