[EDIT: de nieuwste versie van het userfriendlyscience package, 0.5-2, kijkt nu naar het aantal waarden in beide variabelen die je aanbied. Ook als je een variabele niet als factor meegeeft, wordt hij nu goed verwerkt. Je kunt deze versie installeren met install.packages('userfriendlyscience');]
Goede interpretatie van wat er fout gaat! Je ziet correct dat R beide variabelen als intervalniveau ziet. Dat komt omdat ze zijn ingesteld als zogenaamde 'numeric vectors', in plaats van als 'factors. Je kunt hier op verschillende manieren mee omgaan.
De 'beste manier' is om sex correct in je dataset op te slaan. Dat kan op de volgende manier:
dat\$sex <- factor(dat\$sex);
Je kunt ook aangeven welke niveaus sex heeft:
dat\$sex <- factor(dat\$sex, levels=c(1,2), labels=c('female', 'male'));
Je kunt dit echter ook doen terwijl je meanDiff aanroept:
meanDiff(dat\$aggression_total, factor(dat\$sex));
Dat werkt ook. Normaal is het handig om van alle variabelen de meetniveaus correct in te stellen in je dataset (dus alle categorische variabelen als factor, de rest als numeric).
Je had dit dus al bijna zelf ge-'troubleshoot', heel goed!!!