Join our Community Groups and get customized solutions Join Now! Watch Tutorials Youtube

Understanding Pearson Correlation in RStudio

Learn Pearson correlation with RStudio. Calculate, interpret, and visualize relationships between variables for powerful data insights.

Key Point

  • Pearson correlation measures the strength and direction of the linear relationship between two variables.
  • RStudio provides a convenient platform for calculating Pearson correlation coefficients.
  • The correlation coefficient ranges from -1 to 1, indicating the strength and nature of the relationship.
  • Pearson correlation is widely used in various fields, including finance, medicine, psychology, and marketing.
  • Understanding Pearson correlation helps researchers draw meaningful conclusions and make predictions based on data analysis.
    Pearson Correlation with Rstudio, R code


Pearson correlation is a method used in statistics and data analysis that helps us understand how different things relate to one another. This post will explain Pearson correlation in R's programming language and its significance in data analysis. By the end of this lesson, you will understand how to calculate and interpret the Pearson correlation coefficient and present your findings. So, let's get this started!

Assume you have large data, such as a group of people's heights and weights. You may be wondering if there is any relationship between a person's height and weight. Pearson correlation comes into play here. It assists us in determining if there is a link between two factors, such as height and weight.

What is Pearson Correlation?

Pearson correlation is a statistical method for determining how two continuous variables are associated. It indicates if they have a strong or weak relationship and whether they change in the same or opposite direction. The Pearson correlation coefficient, abbreviated as "r," is between -1 and 1.

When we compute the Pearson correlation coefficient, we examine the values of both variables to discover how they connect. If the coefficient is negative (smaller than zero), this indicates a negative association. As one variable rises, the other tends to fall. If the coefficient is larger than zero, there is a positive association. It indicates that the other tends to rise as one variable increases. When the coefficient is zero, no link exists between the variables.

Importance of Pearson Correlation in Data Analysis

Pearson correlation is an important tool in data analysis for several reasons.
  • Identifying and quantifying the relationship between variables: Pearson correlation provides insight into how two variables are related. It measures how well changes in one variable correspond to changes in another.
  • Providing insights regarding the relationship's direction and strength: We can discover whether or not there is a relationship between variables by computing the correlation coefficient and the direction of that relationship. A positive coefficient implies that there is a positive association, whereas a negative coefficient suggests that there is a negative relationship. The value of the coefficient also reflects the intensity of the link.
  • Predictions and conclusions: Using the correlation coefficient, researchers can make predictions about one variable depending on the other. If there is a significant positive correlation, we expect that as one variable increases, the other will also increase. We can draw meaningful conclusions and make informed judgments based on the relationship between variables.
As a framework for more advanced statistical modeling and analysis, Pearson correlation is a foundation for more sophisticated statistical modeling and analysis techniques. It assists in determining which variables should be included in a model and provides insights into their interactions, allowing for more accurate and robust assessments.

Assumptions of Pearson Correlation

To receive reliable results while using Pearson correlation, several assumptions must be met:
  • Linearity: The variables' relationships should be reasonably linear. Pearson correlation assesses the magnitude and direction of linear correlations. Pearson correlation may not offer a useful measure of association if the relationship is non-linear.
  • The variables under examination should have a normal distribution. The Pearson correlation coefficient is predicated on the assumption of normalcy; hence this assumption is critical. Alternative correlation methods or data transformations may be more appropriate if the variables are not normally distributed.
  • Homoscedasticity: Variable variation should be consistent across all levels. Homoscedasticity assumes that the distribution of data points remains constant over the range of variables. If the variances are uneven, the correlation coefficient's accuracy may suffer.
  • Independence: The observations should be distinct from one another. Each data point should be distinct from the others. The assumption of independence is that one observation does not influence or impact another. When independence is violated, correlation estimations might be skewed.
Before employing the Pearson correlation, it is critical to evaluate these assumptions. Alternative correlation algorithms or data transformations may be more appropriate if assumptions are violated. Furthermore, it is critical to interpreting Pearson correlation data with caution if the assumptions still need to be fully met since this may affect the accuracy and dependability of the findings.

Strengths and Limitations of Pearson Correlation

Pearson correlation has numerous advantages that help to explain its widespread use as a statistical measure:
  • Simple interpretation and comprehension: Pearson correlation is simple to understand. The correlation coefficient ranges from -1 to 1, making it simple to understand the strength and direction of the association between variables.
  • The correlation coefficient provides a standardized measure of relationship that allows for comparisons across different datasets and variables. This makes it easier to identify strong and weak relationships.
  • Pearson correlation is particularly interested in assessing the linear relationship between variables. This makes it especially effective when investigating linear connections, in which changes in one variable are proportionate to changes in another.
Pearson correlation has some limits that should be noted, notwithstanding its strengths:
  • Pearson correlation is based on the assumption that variables have a linear relationship. In real-world circumstances, however, the relationship between variables may be nonlinear. In such circumstances, Pearson correlation may not correctly capture the true link.
  • Pearson correlation may be unable to discover or depict nonlinear interactions between variables since it concentrates on linear relationships. Other correlation measures or nonlinear modeling techniques may be more appropriate for capturing nonlinear relationships.
  • Pearson correlation is susceptible to extreme values, which are known as outliers. Outliers can significantly impact the correlation coefficient, distorting the data and leading to incorrect conclusions.
To overcome these limitations, examining the nature of the data and, when suitable, adopting other correlation measurements or modeling techniques is necessary. Furthermore, extensive data exploration and outlier analysis can help reduce the impact of outliers on Pearson correlation estimates.

Calculating the Pearson Correlation Coefficient in R

The cor() function in R determines the Pearson correlation coefficient. This function determines the relationship between two variables; let's name them x and y. Here's an example of how to accomplish it:
First, keep your data in distinct variables, x, and y. Assume x represents one variable's values and y represents another. To determine the correlation coefficient, use the cor() function as follows:

correlation_coefficient <- cor(x, y)

After running this code, the correlation results will be saved in the "correlation_coefficient" variable, and you can view these results using the below command. These values can then be used for additional analysis or reporting.


It is critical to remember that the variables x and y must be numeric and have the same length. Suppose any values need to be added to the data. The cor() method will handle them automatically and calculate the correlation based on the available data points.

Interpreting the Pearson Correlation Coefficient

The Pearson correlation coefficient is a number that ranges from -1 to 1. It describes the magnitude and direction of a linear relationship between two variables. 

A correlation coefficient of -1 denotes a perfect negative linear association, meaning that when one variable rises, the other falls consistently. On the other hand, a correlation value of +1 suggests a perfect positive linear correlation, meaning that when one variable rises, the other variable similarly increases consistently.

A correlation value of 0 indicates that the variables have no linear connection. Therefore, changes in one variable do not correlate to changes in the other variable in a predictable or consistent manner. It is crucial to remember that even if there is no linear link, there may be other correlations between the variables that the correlation coefficient does not reflect.

A correlation value of -0.8, for example, implies a significant negative correlation, which means that when one variable grows, the other variable decreases in a strong and consistent manner. A correlation value of 0.6, on the other hand, indicates a moderate positive correlation, implying that if one variable grows, the other variable tends to increase reasonably and consistently.

It is critical to understand that correlation does not indicate causality. Even if two variables have a significant correlation, this does not always imply that changes in one variable cause changes in the other. The degree of the link between variables is measured by correlation, not the cause-and-effect relationship.

Understanding the Pearson Correlation p-value

Aside from the correlation coefficient, the p-value associated with the correlation must also be considered. The p-value assists us in determining the correlation coefficient's statistical significance. A p-value of less than 0.05 shows that the association is statistically significant. The observed link could not have happened by coincidence.

The p-value lets us determine if the association we discovered is meaningful or a chance event. When the p-value is low, it indicates a good reason to trust the correlation between the variables. If, on the other hand, the p-value is large (above 0.05), it suggests that the association might have occurred by chance and may not be statistically significant.

Multivariate Pearson Correlation: Analyzing Two or More Variables

Multivariate Pearson correlation is a method for simultaneously determining the relationship between three or more variables. It assists us in understanding how these factors are related to one another.

Rather than looking at pairs of variables as in standard Pearson correlation, we develop a correlation matrix that reveals all of the links between the variables. The matrix's values range from -1 to 1. A value of -1 indicates a perfect negative relationship, 1 indicates a perfect positive relationship, and 0 shows no connection.

We can see if variables move together or in opposite directions by examining the correlation matrix. For example, if variable A is related to variable B and variable B is connected to unstable C, we can also anticipate variables A and C to be described.

Multivariate Pearson correlation can help us understand how different variables influence one another. It assists us in seeing the larger picture and how everything fits together.

Reporting Pearson Correlation Results

There are a few key details to mention when reporting Pearson correlation data. The correlation coefficient, which indicates the degree and direction of the association between the variables, should be discussed first. This value might vary between -1 and 1.

Furthermore, the statistical significance of the association, known as the p-value, must be provided. The p-value indicates whether the observed link is statistically significant or may have occurred by chance. A low p-value, usually less than 0.05, shows a significant association.

Also, remember to include the number of observations that were analyzed. It provides readers with an indication of the sample size and the reliability of the findings. It is critical to add context and understand the practical consequences of the association to make your findings more accessible. Avoid utilizing technical jargon and explain the association in layperson's terms. Instead of expressing "variable A and variable B are positively correlated," state "as variable A increases, variable B tends to increase as well."

Remember that straightforward language and avoiding technical jargon are essential when presenting your findings. In this manner, a larger audience will more easily comprehend your conclusions.

Solved Example of Correlation

This tutorial will teach us how to analyze and visualize car data using the R programming language. We will use the mtcars dataset, which contains information about various car models. We aim to understand the relationships between different variables and gain insights from the data.
Step 1 Data Exploration: First, we load the mtcars dataset and examine its structure using the head() and str() functions. This helps us get a glimpse of the data and understand its columns and values.
data(mtcars) #load the built in data in R
head(mtcars) # few rows of the data set
str(mtcars) #Structure of the data set
Step 2 Data Visualization: Next, we move on to data visualization, which allows us to visually represent the relationships between variables. We use the plot() function to create scatter plots between the miles per gallon (mpg) and other variables such as horsepower (hp), displacement (disp), and rear axle ratio (drat). Each scatter plot helps us understand how these variables are related.

plot(mtcars$mpg, mtcars$hp, main = "Scatter Plot Between MPG and Hp
     SOurce:", xlab="mpg", ylab="hp")
plot(mtcars$mpg, mtcars$disp,type="p", main = "Scatter Plot Between MPG and disp
     SOurce:", xlab="mpg", ylab="disp", col="blue")
plot(mtcars$mpg, mtcars$drat,type="p", main = "Scatter Plot Between MPG and drat
     SOurce:", xlab="mpg", ylab="drat", col="blue")
plot(mtcars$mpg, mtcars$drat,type="p", main = "Scatter Plot Between MPG and drat
     SOurce:", xlab="mpg", ylab="drat", col="blue")
Scatter plot using R base function

We can add some context and unique elements to make the tutorial engaging. For example, imagine we are car detectives trying to solve a mystery. We can introduce a fictional storyline where we analyze the car data to uncover clues about a stolen car. We can use the scatter plots to visualize the car's performance and characteristics, making it more exciting for the 5th-grade student.

Step 3: Boxplot Visualization: We create a boxplot using the boxplot() function after the scatter plots. This plot provides a visual representation of the distribution of the variables in the mtcars dataset. We can explain the boxplot to understand the spread and median values of the variables, helping us identify any outliers or unusual patterns in the data.
boxplot(mtcars, main="Boxplot for mtcars")
Boxplot with R Language

Step 4 Advanced Visualization with ggplot2: To make our visualizations more appealing, we introduce the ggplot2 package, which provides more flexibility and customization options. We create scatter plots using ggplot() and geom_point() functions, along with additional enhancements such as coloring the points based on a categorical variable (am). We explain that these visualizations help us explore relationships between variables in a more visually appealing and informative way.
ggplot(mtcars, aes(mpg, hp, colour = factor(am))) + 
  geom_point() +geom_smooth(alpha=0.3, method="lm")+
  xlab("MPG") + ylab("Hp") +ggtitle("Scatterplot Between mpg and Hp")+
  labs(subtitle = "") +theme(legend.position = "none")
ggplot(mtcars, aes(mpg, disp, colour = factor(am))) + 
  geom_point() +geom_smooth(alpha=0.3, method="lm")+
  xlab("MPG") + ylab("disp") +ggtitle("Scatterplot Between mpg and disp")+
  labs(subtitle = "") +theme(legend.position = "none")
ggplot(mtcars, aes(mpg, drat, colour = factor(am))) + 
  geom_point() +geom_smooth(alpha=0.3, method="lm")+
  xlab("MPG") + ylab("drat") +ggtitle("Scatterplot Between mpg and drat")+
  labs(subtitle = "") +theme(legend.position = "none")

ggplot2, scatterplot with Rstudio

ggplot2, with R language

Step 5 Correlation Analysis: Moving on to correlation analysis, we aim to measure the strength and direction of relationships between variables. We start with bivariate correlation using the cor.test() function, which calculates the correlation coefficient and p-value between the mpg and other variables in the dataset. We explain that correlation coefficients close to 1 or -1 indicate a strong relationship, while p-values help determine if the relationship is statistically significant.
# Correlation analysis
# Bivaraite Method
cor.test(mtcars$mpg, mtcars$cyl)
cor.test(mtcars$mpg, mtcars$disp)
cor.test(mtcars$mpg, mtcars$hp)
cor.test(mtcars$mpg, mtcars$drat)
Step 6 Multivariate Correlation: In this section, we calculate the correlation matrix for all variables in the mtcars dataset using the cor() function. We explain that the correlation matrix provides a comprehensive overview of how each variable is related to others. To make it more engaging, we can refer to the correlation matrix as a "car matrix" and explain that it shows how different car features are connected, like a puzzle.
# Multivaraite Correlation
cor(mtcars) # for all varaibles
# adjust the decimal point
Step 6 Saving the Results: We save the correlation matrix and p-values as CSV files using the write.csv() function to preserve our findings. We explain that this allows us to share our analysis with others or use the results for further investigations.
write.csv(r2, "correlation.csv")
But these results did not tell us about the significance of the results. For the significance of the results, we have to find the p-value or significance level; for that purpose, we will use the customized function that generates results with the steric function. For that purpose, you can download the file given below.

Correlation Results interpretation

Correlation table with Rstudio

The provided car matrix comprehensively depicts the interrelationships among various variables within the mtcars dataset. Consider this scenario as a puzzle that unveils the interconnections among various automobile attributes. Let us delve into the correlations and elucidate the narrative they convey.

Beginning with the metric of miles per gallon (mpg), it becomes evident that a negative correlation exists between this variable and various other factors. Negative correlations mean that as one variable increases, the further decreases. For example, mpg has a strong negative correlation of -0.85 with the number of cylinders (cyl). This suggests that cars with more cylinders tend to have lower fuel efficiency. It makes sense since larger engines typically consume more fuel.

Moving on to displacement (disp), we see a similar negative correlation of -0.85 with mpg. This indicates that cars with larger engine displacements tend to have lower fuel efficiency. It's like discovering a secret that bigger engines guzzle more gas!

Next, we explore the correlation between horsepower (hp) and mpg. Again, we find a negative correlation of -0.78. This means that cars with higher horsepower tend to have lower fuel efficiency. It's interesting to note that powerful engines often sacrifice fuel economy.

Now, let's focus on the rear axle ratio (drat). Here, we observe a positive correlation of 0.68 with mpg. Positive correlations mean that as one variable increases, the other also tends to increase. This case suggests that cars with higher rear axle ratios (lower gears) have better fuel efficiency. It can be likened to the revelation of a clandestine mechanism that enables enhanced fuel efficiency.

The weight (wt) factor is a significant determinant of fuel efficiency. A robust inverse relationship with a correlation coefficient -0.87 is observed between the variables wt and mpg. The fuel efficiency of automobiles typically decreases as their weight increases, as expected, due to the greater energy required to propel a larger mass. Recognizing the correlation between weight reduction and enhanced fuel efficiency in automobiles is akin to the understanding that shedding excess mass can result in improved energy consumption.

Let us investigate the relationship between the quarter-mile time (qsec) and miles per gallon (mpg). A positive correlation of 0.42 was observed. This implies that vehicles exhibiting superior performance in the quarter-mile acceleration metric generally demonstrate enhanced fuel efficiency. The experience is akin to uncovering a clandestine equation that harmoniously integrates velocity and efficacy.

Next, we redirect our attention toward the categorical variables. The variable "vs" denotes the engine configuration, which can be either a V or a straight layout. A positive correlation of 0.66 is observed between the variables "vs" and "mpg". Automobiles equipped with a V-shaped engine configuration generally exhibit superior fuel efficiency compared to their counterparts featuring a straight engine layout. The discovery pertains to revealing the latent benefits associated with a V-shaped engine.

Let us examine the relationship between the transmission type, specifically amplitude modulation (AM), and the miles per gallon (mpg). A positive correlation of 0.60 was observed. Automobiles equipped with automatic transmissions generally exhibit marginally superior fuel efficiency compared to their manual transmission counterparts. This statement elucidates the concealed fuel-saving capabilities inherent in automatic gearboxes.

In regard to the number of gears, there is a discernible positive correlation of 0.48 with miles per gallon (mpg). Automobiles equipped with a higher number of gears generally exhibit enhanced fuel efficiency. The recognition of the potential for enhanced engine performance and fuel efficiency by utilizing a wider range of gear options is analogous to the understanding that such optimization can be achieved.

Finally, we investigate the relationship between the number of carburetors (carb) and miles per gallon (mpg). A negative correlation of -0.55 is observed. Automobiles equipped with a greater number of carburetors generally exhibit diminished fuel efficiency. It is akin to the realization that an excess of carburetors can impede the attainment of improved fuel efficiency.

These correlations offer valuable insights into the impact of various variables on the fuel efficiency of automobiles. There is a more comprehensive comprehension of the factors influencing fuel consumption efficiency. This knowledge can be utilized to make well-informed decisions when engaging in the process of purchasing a vehicle or evaluating its overall performance. The car matrix is a crucial tool for uncovering the latent information contained in the data. As individuals aspiring to become data detectives, we can leverage these correlations to solve the puzzle surrounding fuel efficiency.


In this detailed guide, we looked at the Pearson correlation notion in R. We now understand how to compute the correlation coefficient, estimate its significance, and present correlation results. Researchers and data analysts can get useful insights, make informed decisions, and produce significant outcomes from their data by grasping the complexities of correlation analysis.

Pearson Correlation with Rstudio.rar Code, Script, and output file 555kb

Data Analysis with RStudio

Related Posts

Transform your raw data into actionable insights. Let my expertise in R and advanced data analysis techniques unlock the power of your information. Get a personalized consultation and see how I can streamline your projects, saving you time and driving better decision-making. Contact me today at or visit to schedule your discovery call.

About the Author

Ph.D. Scholar | Certified Data Analyst | Blogger | Completed 5000+ data projects | Passionate about unravelling insights through data.

Post a Comment

RStudiodataLab Chatbot
Have A Question?We will reply within minutes
Hello, how can we help you?
Start chat...
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.