Opmerkingen naar aanleiding van de vorige ingeleverde opdrachten.
dus niet zo
Model<-lm(y~x)
commentaar
dit werkt niet. dit wel
Model<-lm(y~x)
commentaar.
Is de variantie in y gelijk voor alle waarden van x ?
plot(Model, which=1)
commentaar
We kunnen ook numeriek de aannamen testen
fligner.test(y~x)
commentaar
In deze opdrachten vraag ik wat meer dan wat ik normaal bespreek in de tutorial Dat wil zeggen dat je nu meer inventiviteit moet tonen dan alleen de template of tutorial te volgen. De codes zijn aanwezig maar je moet ze voor sommige vragen de output anders interpreteren.
Van hartslag frequentie en leeftijd wordt gezegd dat ze aan elkaar gerelateerd zijn met de volgende formule.
\[Max = 220 - Age\]
In een experiment wordt de hartslag frequentie van 15 personen van verschillende leeftijden gemeten en in een excel file ingevoerd. Van de excel file is een Comma-separated value file (.csv) gemaakt genaamd Rate.csv
| Age | 18 | 23 | 25 | 35 | 65 | 54 | 34 | 56 | 72 | 19 | 23 | 42 | 18 | 39 | 37 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Max Rate | 202 | 186 | 187 | 180 | 156 | 169 | 174 | 172 | 153 | 199 | 193 | 174 | 198 | 183 | 178 |
We onderzoeken of de relatie die we vinden met deze steekproef, overeenkomt met de formule hierboven.
A. Welke statistische model is het beste geschikt, t-test, ANOVA of lineaire regressie?
Lineaire regresse, want twee numerieke variabelen.
B.Lees de data in R. Kijk in de tutorial voor lineaire regressie hoe je dit kan doen voor csv files. Vergeet niet de functie attach() te gebruiken.
Rates<-read.csv("Rate.csv")
attach(Rates)
C. Gebruik de juiste tutorial om te testen of de formule hierboven correct is en voer daarbij ook de diagnostische tests uit.
str(Rates)
## 'data.frame': 15 obs. of 2 variables:
## $ Max_rate: int 202 186 187 180 156 169 174 172 153 199 ...
## $ Age : int 18 23 25 35 65 54 34 56 72 19 ...
Het is helemaal numeriek dus het klopt
summary(Rates)
## Max_rate Age
## Min. :153.0 Min. :18.00
## 1st Qu.:173.0 1st Qu.:23.00
## Median :180.0 Median :35.00
## Mean :180.3 Mean :37.33
## 3rd Qu.:190.0 3rd Qu.:48.00
## Max. :202.0 Max. :72.00
plot(Max_rate~Age)
Dit geeft richtingscoëfficiënt van ongeveer -1
cor.test(Max_rate,Age)
##
## Pearson's product-moment correlation
##
## data: Max_rate and Age
## t = -11.402, df = 13, p-value = 3.848e-08
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9847513 -0.8624401
## sample estimates:
## cor
## -0.9534656
p-value<0,05 en 0 valt buiten 95 procent betrouwbaarheidsinterval
model_rate<-lm(Max_rate~Age)
plot(model_rate, which=1)
De plot volgt niet goed de rode lijn door ongelijke spreidingen, dus moet ncvtest gedaan worden.
library(car)
ncvTest(model_rate)
## Non-constant Variance Score Test
## Variance formula: ~ fitted.values
## Chisquare = 0.3440046 Df = 1 p = 0.5575268
plot(model_rate, which=2)
De spreiding is normaal (p-value>0,05) en de resttermen zijn ook normaal verdeeld. ## Q2
In een planten groei experiment wordt onderzocht of verschillende licht behandelingen (Photoperiod) effect hebben op de groei (growth). Er zijn drie behandel niveaus, Very short, Short, Long en Very long.
we willen weten of de verschillende licht behandelingen verschillende effecten hebben op de groei van de plant.
De data staan in de tab delimited text file oneway.txt
A. Wat voor een type data zijn Photoperiod en growth?
Growth is numeriek en Photoperiod is een categorische variabele.
B. Kunnen we de onderzoeksvraag beter analyseren met een of Lineaire regressie of ANOVA?
ANOVA
C. De data staan in de file oneway.txt in een tab delimited file format (.txt). Gebruik de informatie in de lineaire regressie tutorial om de data in R te lezen.
Grow<-read.delim("oneway.txt")
attach(Grow)
str(Grow)
## 'data.frame': 24 obs. of 2 variables:
## $ Growth : int 2 3 1 1 2 1 3 4 2 1 ...
## $ Photoperiod: Factor w/ 4 levels "Long","Short",..: 4 4 4 4 4 4 2 2 2 2 ...
summary(Grow)
## Growth Photoperiod
## Min. :1.000 Long :6
## 1st Qu.:1.750 Short :6
## Median :2.000 Very.long :6
## Mean :2.375 Very.short:6
## 3rd Qu.:3.000
## Max. :6.000
D. Gebruik de juiste tutorial om te testen of de werk hypothese correct is.
plot(Growth~Photoperiod)
points(Growth~Photoperiod)
Medianen liggen vlak bij elkaar, maar de standaard deviatie varieert zeer.
model_Grow<-aov(Growth~Photoperiod)
plot(model_Grow, which=1)
plot(model_Grow, which =2)
Restterm ligt tussen -2 en 3 en is normaal verdeeld.
shapiro.test(model_Grow$residuals)
##
## Shapiro-Wilk normality test
##
## data: model_Grow$residuals
## W = 0.89884, p-value = 0.02034
p-value<0,05 dus afwijkingen zorgen ervoor dat ANOVO niet uitgevoerd kan worden. ## Q3
Als je stijgt in de bergen komt neemt de temperatuur af met 9.8 graden Celsius/km. Een groepje klimmers wil testen of dit ook klopte tijdens hun tocht. Ze namen hun hoogte- en thermo-meters mee en registeerde de volgende data.
| elevation (ft) | 600 | 1000 | 1250 | 1600 | 1800 | 2100 | 2500 | 2900 |
|---|---|---|---|---|---|---|---|---|
| temperature (F) | 56 | 54 | 56 | 50 | 47 | 49 | 47 | 45 |
De data zijn opgeslagen in de csv file met de naam Hoogte.csv
A. Om de aannamen van 9.8 C/km te testen moeten moeten ze dan een ANOVA of lineaire regressie gebruiken?
B. Gebruik de informatie in de lineaire regressie tutorial om de data in R te lezen.
C. Onderzoek of het temperatuursverval van 9.8 C/km ook van toepassing was tijdens deze tocht. Reken eerst de data om van foot naar km en van Fahrenheit naar Celcius met 1 foot = 0.3048 meter en 1 graad Celcius = (Fahrenheit - 32) / 1.8. Gebruik de juiste tutorial om de data te analyseren.
Simulated data:
x<- rep(1:10,3)
intercept<-2
slope<-0.5
y<-intercept+slope*x+rnorm(length(x), 0, 1.5)
Analyseer de data en herhaal deze analyse voor een sd die twee keer zo hoog is (van 1.5 naar 3). Wat voor een effect heeft dat op de statistieken en komt dan overeen met wat je verwacht?