How to Perform Bivariate Analysis in R

Spread the love

Bivariate analysis is a fundamental statistical analysis technique used to determine the empirical relationship between two variables. It involves testing hypotheses or studying relationships and correlations among pairs of variables. This analytical method is often used in data analysis, research design, prediction, and forecasting.

In the R programming language, a variety of functions and packages are available to perform bivariate analysis effectively. In this comprehensive guide, we’ll discuss how to carry out bivariate analysis in R, including different techniques and their applications.

Understanding Bivariate Analysis

Bivariate analysis investigates the relationship between two variables, hence the term ‘bivariate’ – bi meaning two and variate meaning variable. Bivariate analysis can provide a level of understanding that univariate analysis (analysis of one variable) cannot.

Types of bivariate analysis methods include:

  1. Numerical & Numerical: Techniques such as correlation and regression can be used when both variables are numerical.
  2. Categorical & Categorical: Techniques like Chi-square tests can be used when both variables are categorical.
  3. Numerical & Categorical: Techniques like t-tests or ANOVA are used when one variable is numerical and the other is categorical.

Let’s now explore how to perform these types of bivariate analyses in R.

Bivariate Analysis for Numerical & Numerical Variables

When dealing with two numerical variables, the relationship between them can often be visualized through a scatter plot and quantified through correlation or regression.

Scatter Plot

A scatter plot can be created using R’s plot() function:

# Create two numerical vectors
x <- c(5, 7, 8, 9, 10, 12, 14, 15, 18, 20)
y <- c(15, 18, 21, 24, 27, 30, 33, 36, 39, 42)

# Create a scatter plot
plot(x, y)


The correlation between two variables can be calculated using R’s cor() function:

# Calculate correlation
cor(x, y)


Regression allows us to examine the relationship between one variable (the dependent variable) and one or more independent variables. Here is an example of simple linear regression using R’s lm() function:

# Create a linear regression model
model <- lm(y ~ x)

# Print summary statistics

Bivariate Analysis for Categorical & Categorical Variables

When dealing with two categorical variables, we often want to know if there is an association between them. The Chi-square test can be used for this purpose.

Chi-square Test

R’s chisq.test() function can be used to carry out a Chi-square test:

# Create two categorical vectors
x <- c("Yes", "No", "Yes", "Yes", "No", "No")
y <- c("Female", "Male", "Male", "Female", "Male", "Female")

# Create a contingency table
table <- table(x, y)

# Perform a Chi-square test

Bivariate Analysis for Numerical & Categorical Variables

When dealing with one numerical and one categorical variable, techniques like the t-test or ANOVA can be used to understand the relationship between the variables.


A t-test can be used to compare the means of two groups. Here is an example using R’s t.test() function:

# Create a numerical and a categorical vector
x <- c(5, 7, 8, 9, 10)
y <- c("Group1", "Group1", "Group2", "Group2", "Group2")

# Perform a t-test
t.test(x ~ y)


ANOVA (Analysis of Variance) can be used to compare the means of more than two groups. Here is an example using R’s aov() function:

# Create a numerical and a categorical vector
x <- c(5, 7, 8, 9, 10, 12, 14, 15, 18, 20)
y <- c("Group1", "Group1", "Group2", "Group2", "Group2", "Group3", "Group3", "Group3", "Group3", "Group3")

# Perform an ANOVA
aov_result <- aov(x ~ y)

# Print summary statistics


Bivariate analysis is a crucial statistical technique used in various fields including data science, research, and business analytics. It helps to understand the relationships or associations between two variables. The nature of the variables involved determines the type of bivariate analysis used.

R is a powerful tool for bivariate analysis due to its broad set of statistical and graphical capabilities. Whether you are investigating the correlation between two numerical variables, testing the association between two categorical variables, or comparing the means of different groups, R has the necessary functions to perform these analyses.

A deep understanding of how to perform bivariate analysis in R equips analysts and researchers with the ability to uncover important insights and relationships in their data. This knowledge not only contributes to more thorough data exploration but also helps to generate more robust and reliable analytical models.

Posted in RTagged

Leave a Reply