Agreement Plot R Example

Agreement Plot R Example: How to Use Agreement Plots for Analyzing Categorical Data

As a copy editor with a background in search engine optimization (SEO), I understand the importance of creating high-quality content that is both informative and engaging. In this article, we`ll explore the use of agreement plots in R for analyzing categorical data.

What are Agreement Plots?

Agreement plots are a type of visualization tool that help to identify the degree of agreement between two or more raters, judges, or assessors. They are particularly useful when working with categorical data, such as ratings or scores assigned to different items or objects.

Agreement plots allow you to visualize the level of agreement between raters or judges by displaying the proportion of each level of rating or score that is assigned by each one. This is done by plotting the percentage of ratings that are the same (agreement) against the difference in ratings (disagreement) between the raters or judges.

How to Use Agreement Plots in R

If you`re working with categorical data in R, you can easily create an agreement plot using the ggplot2 library. Here`s an example of how to create an agreement plot in R for a dataset with three raters:




# Create a data frame with ratings from three raters

data <- data.frame(

rater1 = c(“A”, “B”, “B”, “A”, “C”, “A”, “A”, “B”, “C”),

rater2 = c(“A”, “B”, “B”, “A”, “C”, “A”, “A”, “C”, “C”),

rater3 = c(“B”, “A”, “B”, “A”, “C”, “B”, “A”, “C”, “C”)


# Calculate the level of agreement between raters

agreement <- sum(data$rater1 == data$rater2 & data$rater2 == data$rater3) / nrow(data)

# Create an agreement plot

ggplot(data, aes(x = rater1, y = rater2)) +

geom_point(aes(size = ..prop..,

alpha = ..prop..), stat = “summary”,

fun.y = “mean”) +

geom_abline(intercept = 0, slope = 1) +

scale_size(range = c(3, 10)) +

scale_alpha(range = c(0.3, 1)) +

theme_bw() +

labs(title = “Agreement Plot Example”,

subtitle = paste0(“Agreement: “, round(agreement, 3)*100, “%”),

x = “Rater 1”, y = “Rater 2”)


The code above first creates a data frame with the ratings assigned by three different raters. It then calculates the level of agreement between the raters by counting how many times the same rating was assigned by all three raters and dividing by the total number of ratings.

Finally, it creates an agreement plot using ggplot. The plot displays the proportion of ratings that are the same (agreement) against the difference in ratings (disagreement) between the raters. The size and transparency of each point in the plot is determined by the proportion of ratings at that level, and a diagonal line is added to show perfect agreement.


Agreement plots are a valuable tool for analyzing categorical data and visualizing the level of agreement between raters or judges. With R and the ggplot2 library, creating an agreement plot is easy and straightforward. By using agreement plots, you can better understand the level of agreement between raters, identify potential sources of disagreement, and improve the reliability and validity of your data.