How to Calculate Intraclass Correlation Coefficient in R

Spread the love

Intraclass Correlation Coefficient (ICC) is a statistical measure that is used to evaluate the reliability or the degree of agreement of quantitative measurements made by different observers measuring the same quantity. This is particularly useful in research scenarios where repeated measurements are made on the same subjects. This article provides an in-depth guide on how to calculate the Intraclass Correlation Coefficient in R, encompassing the concept, applications, and practical implementation.

Introduction to Intraclass Correlation Coefficient

ICC is a measure that assesses how strongly units in the same group resemble each other. It is often used as a measure of reliability and can range from 0 to 1. A value of 0 indicates that the group members have no similarity, while a value of 1 indicates that the group members are identical.

There are several forms of ICC, depending on the research design. The three main types are:

  1. ICC(1,1): Used in the case of a single measurement.
  2. ICC(3,1): Used when the raters are considered to be a fixed effect.
  3. ICC(2,1): Used when the raters are considered to be a random effect.

Loading Data in R

The next step is to load the data. You can either use a built-in dataset or load your data from a CSV file.

# Using built-in dataset
mydata <- iris

# Or loading data from a CSV file
# mydata <- read.csv("path_to_your_file.csv")

Installing Necessary Packages

To calculate ICC in R, you need to install and load the psych package.

# Install the psych package

# Load the psych package

Calculating Intraclass Correlation Coefficient

Now that the psych package is loaded, you can use the ICC function to calculate the Intraclass Correlation Coefficient.

# Assuming mydata is a dataframe with repeated measurements as columns
icc_result <- ICC(mydata)

# Display the results

The ICC function provides several estimates of ICC, based on different assumptions and types as mentioned earlier.

Interpretation of Results

When interpreting the ICC, generally, values less than 0.5 indicate poor reliability, values between 0.5 and 0.75 indicate moderate reliability, values between 0.75 and 0.9 indicate good reliability, and values greater than 0.90 indicate excellent reliability.

Plotting the Data

Visualizing the data can also be insightful. A popular way of visualizing the reliability of measurements is by using a scatter plot. This can be easily done using R’s base plotting functions or the ggplot2 package.

# Load ggplot2

# Create a scatter plot
# Replace var1 and var2 with the appropriate column names
ggplot(mydata, aes(x=var1, y=var2)) +
  geom_point() +
  geom_smooth(method="lm") +
  labs(title="Scatter Plot for Reliability")

Applications of Intraclass Correlation Coefficient

  1. Medical Research: ICC is widely used in medical research to evaluate the consistency of different raters evaluating the same variable, like in psychological evaluations.
  2. Quality Control: In manufacturing, ICC can be used to assess the reliability of measurements made by different instruments.
  3. Educational Research: ICC is used in educational research to evaluate the consistency of test scores obtained from different raters.
  4. Social Sciences: It is used to assess the agreement among observers in studies involving behavioral assessments.


The Intraclass Correlation Coefficient is a versatile and powerful statistical tool for assessing the reliability of measurements. By understanding the different types of ICC and knowing how to calculate them using R, researchers and analysts can better evaluate the reliability and consistency of their data. Always remember to interpret the ICC values in the context of your specific research area and requirements.

Posted in RTagged

Leave a Reply