Some data:
webdata <- data.frame(
date = seq(as.Date("2021/1/1"), as.Date("2021/1/05"),by="day"),
sessions = rnorm(5, 10000, 300),
conversions = rnorm(5, 200, 50)
) %>% mutate(conversion_rate = conversions / sessions,
mult = sessions / conversion_rate)
I can make a dual plot plot showing the trend of sessions and conversion rate like this:
webdata %>% ggplot(aes(date, sessions)) +
geom_col(fill = 'steelblue') +
geom_line(aes(date, (conversion_rate * (sessions / conversion_rate) * 1.2)), col = 'orange') + # make line just above columns
scale_y_continuous(sec.axis = sec_axis(~. / 100000))
But I want the scale factor 100000 in scale_y_continuous(sec.axis = sec_axis(~. / 100000))
to be based on a column mult. This way the conversion rate is relative as opposed to a fixed arbitrary amount.
Tried:
webdata %>% ggplot(aes(date, sessions)) +
geom_col(fill = 'steelblue') +
geom_line(aes(date, (conversion_rate * (sessions / conversion_rate) * 1.2)), col = 'orange') + # make line just above columns
scale_y_continuous(sec.axis = sec_axis(~. / mult))
Which gives:
Error in f(...) : object 'mult' not found
How can I use the field mult inside of sec_axis()
?