This is how I approach this (hopefully this is what you need)
Create data (Note: when using sample in questions always use set.seed to be reproducible)
set.seed(123) Data <- data.frame( year = sample(1998:2004, 200, replace = TRUE), score = sample(1:4, 200, replace = TRUE) )
Find frequncies score for year with table
Data2 <- as.data.frame.matrix(table(Data)) Data2$year <- row.names(Data2)
Use melt to convert it to long format
library(reshape2) Data2 <- melt(Data2, "year")
Separate the data by showing different colors per group and the preliminary frequency of the relative size.
library(ggplot2) ggplot(Data2, aes(year, variable, size = value, color = variable)) + geom_point()

Alternatively, you can use both fill and size to describe the frequency, something like
ggplot(Data2, aes(year, variable, size = value, fill = value)) + geom_point(shape = 21)

source share