# call in mtcars
data("mtcars")
str(mtcars)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
names(mtcars)
##  [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear"
## [11] "carb"
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
ggplot(mtcars, aes(x=gear, y= mpg)) +
  geom_bar(stat="identity")

# I want to get each bar colored differently
ggplot(mtcars, aes(x=gear, y= mpg, fill=gear)) +
  geom_bar(stat="identity")

# Time to add title and axis labels 
ggplot(mtcars, aes(x=gear, y= mpg, fill=gear)) +
  geom_bar(stat="identity") +
  labs(title = "Number of forward gears and miles per gallons used",
       x = "Number of forward gears",
       y = "Miles/gallons")

# let's add a line to the bars
ggplot(mtcars) +
  geom_col(aes(x=gear, y= mpg, fill = gear)) +
  geom_line(aes(x= gear, y= carb), stat = "identity",
            color = "red", size = 2)+
  labs(title = NULL,
       x = "Number of forward gears",
       y = "Miles/gallons")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

# lets do some scaling to transform the line
ggplot(mtcars) +
  geom_col(aes(x=gear, y= mpg, fill = gear)) +
  geom_line(aes(x= gear, y= carb*100), stat = "identity",
            color = "red", size = 2)+
  labs(title = NULL,
       x = "Number of forward gears",
       y = "Miles/gallons")+
scale_y_continuous(sec.axis = sec_axis(~.*0.001, name = "Percentage"))# use y-continuous since we are dealing with a secondary y-axis