-
Notifications
You must be signed in to change notification settings - Fork 0
/
t_test.Rmd
107 lines (82 loc) · 2.59 KB
/
t_test.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
title: "<center>**Parametric and non-parametric t-tests in R**</center>"
author: "<center>Wyclife Agumba Oluoch ([email protected]) </center>"
date: "<center>`r Sys.time()`</center>"
bibliography:
- bib/packages.bib
nocite: '@*'
output:
html_document:
toc: true
toc_depth: 2
toc_float: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r libs, echo=FALSE, warning=FALSE, message=FALSE, include=FALSE}
packages <- c("base",
'knitr',
'rmarkdown',
'utils',
'stats',
'nortest',
'car')
installed_packages <- packages %in% rownames(installed.packages())
if(any(installed_packages == FALSE)){
install.packages(packages[!installed_packages])
}
lapply(packages, library, character.only = TRUE) |> invisible()
```
```{r write_bib, echo=FALSE, warning=FALSE, message=FALSE, include=FALSE}
knitr::write_bib(c(
.packages(), packages
), 'bib/packages.bib')
```
# Creating the data_set
We create random data with two factor levels and continuous variable.
```{r dataset, echo = TRUE}
data_set <- data.frame(Gender = c(rep('Male', 100), rep('Female', 100)),
abundance = sample(x = 7:40, size = 200, replace = TRUE))
```
# Checking for normality
We use a number of normality checks on our created data including qqplot, qqline, shapiro, and anderson darling.
## Using qqnorm and qqline
```{r normality_check_qq}
qqnorm(data_set$abundance)
qqline(data_set$abundance)
```
## Using Shapiro test
```{r normality_check_shapiro}
shapiro.test(data_set$abundance)
```
p<a hence we reject the null hypothesis and conclude that the data is no-parametric
## Using Anderson-Darling test
```{r normality_check_Anderson_Darling}
ad.test(data_set$abundance)
```
p>a hence we fail to reject the null hypothesis and conclude that the data is parametric
# Test for equal variance using levene's test
```{r}
leveneTest(data_set$abundance ~ factor(data_set$Gender))
```
p>a hence we fail to reject the null hypothesis and conclude that the data
have equal variance
# Parametric t-test with equal variance
```{r t-test_equal_variance}
t.test(abundance ~ Gender,
data = data_set,
alternative = 'two.sided',
paired = F,
var.equal = T)
```
# Non-parametric t-test with equal variance
```{r non-para_equal_variance}
wilcox.test(abundance ~ Gender,
data = data_set,
alternative = 'two.sided',
paired = F,
var.equal = T)
```
This is normally used when the data is non parametric, i.e. p<a in case of shapiro.test or ad.test results.
# References