Skip to content
Related Articles

Related Articles

Hypothesis Testing in R Programming
  • Last Updated : 22 Jun, 2020
GeeksforGeeks - Summer Carnival Banner

A hypothesis is made by the researchers about the data collected for any experiment or data set. A hypothesis is an assumption made by the researchers that are not mandatory true. In simple words, a hypothesis is a decision taken by the researchers based on the data of the population collected. Hypothesis Testing in R Programming is a process of testing the hypothesis made by the researcher or to validate the hypothesis. To perform hypothesis testing, a random sample of data from the population is taken and testing is performed. Based on the results of testing, the hypothesis is either selected or rejected. This concept is known as Statistical Inference. In this article, we’ll discuss the four-step process of hypothesis testing, One sample T-Testing, Two-sample T-Testing, Directional Hypothesis, one sample \mu-test, two sample \mu-test and correlation test in R programming.

Four Step Process of Hypothesis Testing

There are 4 major steps in hypothesis testing:

  • State the hypothesis- This step is started by stating null and alternative hypothesis which is presumed as true.
  • Formulate an analysis plan and set the criteria for decision- In this step, significance level of test is set. The significance level is the probability of a false rejection in a hypothesis test.
  • Analyze sample data- In this, a test statistic is used to formulate the statistical comparison between the sample mean and the mean of the population or standard deviation of the sample and standard deviation of the population.
  • Interpret decision- The value of the test statistic is used to make the decision based on the significance level. For example, if the significance level is set to 0.1 probability, then the sample mean less than 10% will be rejected. Otherwise, the hypothesis is retained to be true.

One Sample T-Testing

One sample T-Testing approach collects a huge amount of data and tests it on random samples. To perform T-Test in R, normally distributed data is required. This test is used to test the mean of the sample with the population. For example, the height of persons living in an area is different or identical to other persons living in other areas.

Syntax: t.test(x, mu)

Parameters:
x: represents numeric vector of data



mu: represents true value of the mean

To know about more optional parameters of t.test(), try below command:

help("t.test")

Example:




# Defining sample vector
x <- rnorm(100)
  
# One Sample T-Test
t.test(x, mu = 5)

Output:

    One Sample t-test

data:  x
t = -49.504, df = 99, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 5
95 percent confidence interval:
 -0.1910645  0.2090349
sample estimates:
  mean of x 
0.008985172 

Two Sample T-Testing

In two sample T-Testing, the sample vectors are compared. If var.equal = TRUE, the test assumes that the variances of both the samples are equal.

Syntax: t.test(x, y)

Parameters:
x and y: Numeric vectors

Example:






# Defining sample vector
x <- rnorm(100)
y <- rnorm(100)
  
# Two Sample T-Test
t.test(x, y)

Output:

        Welch Two Sample t-test

data:  x and y
t = -1.0601, df = 197.86, p-value = 0.2904
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.4362140  0.1311918
sample estimates:
  mean of x   mean of y 
-0.05075633  0.10175478 

Directional Hypothesis

Using the directional hypothesis, the direction of the hypothesis can be specified like, if the user wants to know the sample mean is lower or greater than another mean sample of the data.

Syntax: t.test(x, mu, alternative)

Parameters:
x: represents numeric vector data

mu: represents mean against which sample data has to be tested

alternative: sets the alternative hypothesis

Example:




# Defining sample vector
x <- rnorm(100)
  
# Directional hypothesis testing
t.test(x, mu = 2, alternative = 'greater')

Output:

        One Sample t-test

data:  x
t = -20.708, df = 99, p-value = 1
alternative hypothesis: true mean is greater than 2
95 percent confidence interval:
 -0.2307534        Inf
sample estimates:
 mean of x 
-0.0651628 

One Sample \mu-Test

This type of test is used when comparison has to computed on one sample and the data is non-parametric. It is performed using wilcox.test() function in R programming.

Syntax: wilcox.test(x, y, exact = NULL)

Parameters:
x and y: represents numeric vector

exact: represents logical value which indicates whether p-value be computed

To know about more optional parameters of wilcox.test(), use below command:

help("wilcox.test")

Example:




# Define vector
x <- rnorm(100)
  
# one sample test
wilcox.test(x, exact = FALSE)

Output:

        Wilcoxon signed rank test with continuity correction

data:  x
V = 2555, p-value = 0.9192
alternative hypothesis: true location is not equal to 0

Two Sample \mu-Test

This test is performed to compare two samples of data.

Example:




# Define vectors
x <- rnorm(100)
y <- rnorm(100)
  
# Two sample test
wilcox.test(x, y)

Output:

        Wilcoxon rank sum test with continuity correction

data:  x and y
W = 5300, p-value = 0.4643
alternative hypothesis: true location shift is not equal to 0

Correlation Test

This test is used to compare the correlation of the two vectors provided in the function call or to test for the association between the paired samples.

Syntax: cor.test(x, y)

Parameters:
x and y: represents numeric data vectors

To know about more optional parameters in cor.test() function, use below command:

help("cor.test")

Example:




# Using mtcars dataset in R
cor.test(mtcars$mpg, mtcars$hp)

Output:

        Pearson's product-moment correlation

data:  mtcars$mpg and mtcars$hp
t = -6.7424, df = 30, p-value = 1.788e-07
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.8852686 -0.5860994
sample estimates:
       cor 
-0.7761684

Attention reader! Don't stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :