You can do this by specifying the levels argument of the factor function. If I am understanding your question correctly, you are looking to rearrange the x axis of your first plot. Here is the code that will give you what you want (note: I moved the factor call into a mutate function from dplyr to make the ggplot call a little cleaner, IMO):
library(ggplot2)
library(dplyr)
# Automatic levels
df %>%
dplyr::mutate(album_name = factor(album_name,
levels = c("College Dropout", "Late Registration", "Graduation",
"808s & Heartbreak", "My Beautiful Dark Twisted Fantasy",
"Yeezus", "The Life of Pablo"))) %>%
ggplot(aes(album_name)) + geom_bar()
That gives you this: