Chapter 8 T-toetsen

Gemiddelden in een of twee populaties worden geanalyseerd met behulp van t-procedures voor het bepalen van betrouwbaarheidsintervallen en het uitvoeren van toetsen. Afhankelijk van het aantal en soort steekproeven, zijn er drie mogelijkheden:

  1. Een t-procedure voor één gemiddelde in één steekproef: One-Sample T Test.
  2. Een t-procedure voor gemiddelden in twee onafhankelijke steekproeven: Independent Samples T Test.
  3. Een t-procedure voor gemiddelden in twee afhankelijke (gepaarde) steekproeven: Paired Samples T Test.

De toetsen zijn gebaseerd op gemiddelden en varianties en zijn dus bruikbaar voor kwantitatieve variabelen, dat wil zeggen, variabelen met een interval of ratio meetniveau. T-toetsen worden uitgevoerd met de functie t.test().

In dit hoofdstuk zal ook weer de mpgdata uit het tidyversepackage gebruikt worden.

library(tidyverse)

8.1 One-Sample T Test

Met de procedure One-Sample T test wordt onderzocht in hoeverre het gemiddelde van een variabele in een steekproef verschilt van een verondersteld populatiegemiddelde of een theoretisch bepaalde waarde, en hoe nauwkeurig dit vast te stellen is. Er wordt daartoe een significantietoets uitgevoerd en een betrouwbaarheidsinterval voor het gemiddelde berekend. De nulhypothese luidt bij deze toets dat het gemiddelde van de populatie waaruit de steekproef is getrokken, gelijk is aan de theoretische waarde. De alternatieve hypothese zegt dat het populatiegemiddelde ongelijk is aan de testwaarde (tweezijdig). Voor het verschil tussen het gemiddelde en de testwaarde wordt een betrouwbaarheidsinterval berekend.

We zullen kijken of het gemiddelde van de variabele hwy significant verschilt van 0 (nulhypothese: het populatiegemiddelde van hwy is gelijk aan 0.). We zien dat de p-waarde heel klein is, wat aangeeft dat de kans dat het populatiegemiddelde gelijk is aan 0 heel erg klein is. We kunnen de nulhypothese verwerpen en vaststellen dat het gemiddelde van hwy significant verschillend is van 0.

t.test(mpg$hwy, mu = 0, alternative = "two.sided")
## 
##  One Sample t-test
## 
## data:  mpg$hwy
## t = 60.216, df = 233, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  22.67324 24.20710
## sample estimates:
## mean of x 
##  23.44017

Bij t-toetsen is het mogelijk om zowel eenzijdig als tweezijdig te toetsen. Dit kan aangegeven worden bij alternative =. Hier zijn drie opties:

  • less = linkszijdig
  • greater = rechtszijdig
  • two.sided = tweezijdig

Let op: bij het gebruik van lessen greater zal het betrouwbaarheidsinterval niet heel precies zijn en is één kant van het interval altijd inf.

We kunnen ook kijken of het gemiddelde van hwy gelijk is aan een bepaalde waarde, bijvoorbeeld 20 (nulhypothese: het populatiegemiddelde van hwy is 20) of dat dit gemiddelde groter is dan 20 (alternatieve hypothese: het populatiegemiddelde van hwy is groter dan 20). Hier zien we dat de p-waarde kleiner is dan 0.05, wat betekent dat we bewijs hebben dat het populatiegemiddelde van hwy significant groter is dan 20.

t.test(mpg$hwy, mu = 20, alternative = "greater")
## 
##  One Sample t-test
## 
## data:  mpg$hwy
## t = 8.8376, df = 233, p-value < 2.2e-16
## alternative hypothesis: true mean is greater than 20
## 95 percent confidence interval:
##  22.79733      Inf
## sample estimates:
## mean of x 
##  23.44017

Deze toets kent de volgende aannames:

  1. De (afhankelijke) variabele heeft een interval of ratio meetniveau.
  2. De waarnemingen zijn onafhankelijk van elkaar.
  3. In de populatie waaruit de steekproef is getrokken, heeft de (afhankelijke) variabele een normale verdeling

8.2 Independent Samples T Test

Met de Independent-Samples T Test wordt getoetst of de populatiegemiddelden van twee groepen proefpersonen significant van elkaar verschillen en wordt een betrouwbaarheidsinterval voor het verschil geconstrueerd. De twee groepen worden beschouwd als twee onafhankelijke steekproeven uit dezelfde populatie. De toets is standaard tweezijdig.

Voordat de Independent-Samples T Test uitgevoerd wordt, is het goed om te kijken of de varianties in beide groepen gelijk zijn. In R kan dit gecontroleerd worden met de code var.test().

In het volgende voorbeeld gaan we kijken of het aantal miles per gallon op de highway verschilt voor auto’s uit 1999 en 2008 (dat zijn de twee groepen in de variabele year).

Als eerste controleren we of de varianties in beide groepen gelijk aan elkaar zijn. In de onderstaande output is te zien dat de p-waarde heel hoog is en dus dat de nulhypothese, de populatievarianties van beide groepen zijn gelijk, niet verworpen mag worden. In dit geval mogen we dus gebruik maken van de code var.equal=TRUE.

var.test(hwy ~ year, data = mpg)
## 
##  F test to compare two variances
## 
## data:  hwy by year
## F = 1.0826, num df = 116, denom df = 116, p-value = 0.6698
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
##  0.7509675 1.5606602
## sample estimates:
## ratio of variances 
##           1.082592

Nu we weten dat de varianties in beide groepen gelijk zijn, kunnen we de t-toets uitvoeren. We zien dat de groepsgemiddelden nagenoeg gelijk zijn en dat de p-waarde bij de toets dus ook aangeeft dat de twee groepen niet verschillen in het aantal miles per gallon op de highway.

t.test(hwy ~ year, data = mpg, var.equal=TRUE)
## 
##  Two Sample t-test
## 
## data:  hwy by year
## t = -0.032864, df = 232, p-value = 0.9738
## alternative hypothesis: true difference in means between group 1999 and group 2008 is not equal to 0
## 95 percent confidence interval:
##  -1.562841  1.511559
## sample estimates:
## mean in group 1999 mean in group 2008 
##           23.42735           23.45299

Belangrijk bij het doen van deze toets is dat de variabele na ~ een variabele is met twee groepen. Wanneer dat niet zo is, zal je een foutmelding krijgen.

De Independent Samples T Test kent een aantal aannames, dat zijn:

  1. De (afhankelijke) variabele heeft een interval of ratio meetniveau.
  2. De waarnemingen zijn onafhankelijk van elkaar.
  3. In de populatie is de afhankelijke variabele is normaal verdeeld.
  4. De groepen (steekproeven uit de groepen) zijn onafhankelijk van elkaar.

8.3 Paired Samples T Test

Wanneer een groep proefpersonen twee keer wordt gemeten, bijvoorbeeld voor en na een manipulatie, is er sprake van gepaarde (afhankelijke) steekproeven (paired samples). Ook kunnen twee steekproeven op een andere manier afhankelijk van elkaar zijn: op een ‘natuurlijke’ manier (tweelingen, echtparen) of op een geconstrueerde manier (de twee steekproeven zijn zo getrokken dat de mensen in elke steekproef veel op elkaar lijken met betrekking tot een aantal belangrijke variabelen: matchen). In deze gevallen moet de Paired-Samples T Test worden gebruikt, die het gemiddelde verschil tussen paren van proefpersonen onderzoekt. De nulhypothese is hierbij dat het gemiddelde verschil in de populatie nul is, de alternatieve dat het gemiddelde verschil ongelijk is aan nul. Standaard wordt tweezijdig getoetst en worden betrouwbaarheidsintervallen berekend.

De aannames van deze toets zijn:

  1. De variabelen zijn van intervalniveau.
  2. De waarnemingen zijn onafhankelijk van elkaar.
  3. In de populatie zijn de verschilscores zijn normaal verdeeld.
  4. De twee steekproeven zijn afhankelijk van elkaar, dat wil zeggen: ze zijn gepaard (ook wel matched samples genoemd).

In de mpgdataset zitten geen gepaarde variabelen, we gaan dus een eigen dataframe maken waar van verschillende respondenten de voor- en nameting van een bepaalde behandeling zijn weergeven.

Voor <- c(88, 66, 100, 96, 59, 73, 93, 83)

Na <- c(96, 72, 101, 110, 75, 99, 107, 85)

df <- data.frame(ID= c(1:8), Voor, Na)
df
##   ID Voor  Na
## 1  1   88  96
## 2  2   66  72
## 3  3  100 101
## 4  4   96 110
## 5  5   59  75
## 6  6   73  99
## 7  7   93 107
## 8  8   83  85

Nu we een dataframe hebben, kunnen we toetsen of de gemiddelden van de voor- en nameting significant van elkaar verschillen. De p-waarde is kleiner dan 0.05, wat betekent dat het populatiegemiddelde van de nameting significant hoger is dan de voormeting.

t.test (df$Voor, df$Na, paired = TRUE)
## 
##  Paired t-test
## 
## data:  df$Voor and df$Na
## t = -3.7034, df = 7, p-value = 0.00762
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  -17.818613  -3.931387
## sample estimates:
## mean difference 
##         -10.875

De paired Samples T test kan ook gebruikt worden om twee groepen te vergelijken die in dezelfde variabele weergeven worden. Om dit te laten zien gaan we weer een eigen dataframe maken waarbij vier stellen worden gevraagd naar hun geslacht: man(0) of vrouw(1) is en hoe gelukkig ze in hun relatie zijn(0-5).

Geslacht<- c(0, 1, 0, 1, 0, 1, 0, 1)
Tevr_rela <- c(1.7, 3.4, 5.0, 2.9, 4.1, 4.3, 2.9, 4.6)

df2 <- data.frame(ID = c(1:8), Geslacht, Tevr_rela)

df2
##   ID Geslacht Tevr_rela
## 1  1        0       1.7
## 2  2        1       3.4
## 3  3        0       5.0
## 4  4        1       2.9
## 5  5        0       4.1
## 6  6        1       4.3
## 7  7        0       2.9
## 8  8        1       4.6

We hebben nu een nieuw dataframe aangemaakt waarin 4 stellen gevraagd zijn naar hun tevredenheid over de relatie, we kunnen nu toetsen of er in de populatie een verschil zit hoe tevreden mannen en vrouwen met hun relatie zijn. We zien dat de toets geen sifnificant resultaat laat zien en dat er dus geen bewijs is dat er een verschil zit tussend de tevredenheid die mannen en vrouwen ervaren.

t.test (df2$Tevr_rela ~ df2$Geslacht, paired= TRUE)
## 
##  Paired t-test
## 
## data:  df2$Tevr_rela by df2$Geslacht
## t = -0.4178, df = 3, p-value = 0.7042
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  -3.231456  2.481456
## sample estimates:
## mean difference 
##          -0.375
library(tidyverse)