Without seeing your data I have to make some guesses. I tried to reproduce your data and graph. The first ggplot call attempts to reproduce your graph. In the second one I changed the y value to n, which may be closer to what you want. If this does not help you, can you post your fake data?
library(ggplot2)
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
newdata <- data.frame(Movie = rep(c("PhantomMenace", "AOTC", "ROTS"), each = 2),
Loved_it = c(59, 64, 59, 68, 60, 68),
Age = c("young", "old", "young", "old", "young", "old"),
n = c(66,68, 73, 70, 84, 72))
newdata <- newdata %>% mutate(Movie = factor(Movie, levels = c("PhantomMenace", "AOTC", "ROTS")),
Age = factor(Age, levels = c("young", "old")))
newdata
#> Movie Loved_it Age n
#> 1 PhantomMenace 59 young 66
#> 2 PhantomMenace 64 old 68
#> 3 AOTC 59 young 73
#> 4 AOTC 68 old 70
#> 5 ROTS 60 young 84
#> 6 ROTS 68 old 72
newdata%>%
ggplot(aes(x=Movie,
y=Loved_it,
fill=Age))+ #fill indicates a grouping variable to color/sort by. Can also use "group="
geom_col(stat = "identity",
position = position_dodge2(preserve = "single"), #_dodge puts columns next to one another; ()specifies distance between columns
colour="black")+ #outline columns in black
geom_text(aes(label = scales::comma(n)), #Label each column with text; include commas in labels if number hits 1,000+
size = 2.5,
position = position_dodge(width = 0.9), #center the labels over the columns
vjust = 1)+ #vertically adjust the position of the labels x units from the column top
theme_light()+
scale_y_continuous(labels = scales::comma)+
labs(x = "Movie",
y = "Count",
title = "SW Prequal appreciation by age group")+
theme(plot.title = element_text(hjust = 0.5))+ # this theme command centers the title
theme(text = element_text(family = "Century Gothic",size = 10), #family= changes all fonts in the graph to the same font
axis.title = element_text(face = "bold"),
axis.text = element_text(face = "italic"),
plot.title = element_text(face = "bold",size = 12))+
scale_fill_manual(values = c("gray75","red"))+ #customize the fill colors used by the "fill=" call above
theme(panel.grid = element_blank()) #remove gridlines
#> Warning: Ignoring unknown parameters: stat

#Use n as the y value
newdata%>%
ggplot(aes(x=Movie,
y=n,
fill=Age))+ #fill indicates a grouping variable to color/sort by. Can also use "group="
geom_col(stat = "identity",
position = position_dodge2(preserve = "single"), #_dodge puts columns next to one another; ()specifies distance between columns
colour="black")+ #outline columns in black
geom_text(aes(label = scales::comma(n)), #Label each column with text; include commas in labels if number hits 1,000+
size = 2.5,
position = position_dodge(width = 0.9), #center the labels over the columns
vjust = 1)+ #vertically adjust the position of the labels x units from the column top
theme_light()+
scale_y_continuous(labels = scales::comma)+
labs(x = "Movie",
y = "Count",
title = "SW Prequal appreciation by age group")+
theme(plot.title = element_text(hjust = 0.5))+ # this theme command centers the title
theme(text = element_text(family = "Century Gothic",size = 10), #family= changes all fonts in the graph to the same font
axis.title = element_text(face = "bold"),
axis.text = element_text(face = "italic"),
plot.title = element_text(face = "bold",size = 12))+
scale_fill_manual(values = c("gray75","red"))+ #customize the fill colors used by the "fill=" call above
theme(panel.grid = element_blank()) #remove gridlines
#> Warning: Ignoring unknown parameters: stat

Created on 2020-01-04 by the reprex package (v0.3.0)