Dit is een site voor studenten van de Open Universiteit. Voordat je een vraag kunt stellen moet je even een account aanmaken (dit systeem is niet gekoppeld aan je OU studentnummer en wachtwoord).

Welkom bij het vraag- en antwoord systeem van de onderzoeks-practica van de studie psychologie bij de Open Universiteit.

Houd er, als je een vraag stelt, rekening mee dat je de richtlijnen volgt!

0 leuk 0 niet-leuks

Verwerkingsvraag 3.5.10 youlearn thema 3 > 3.5 zelf analyseren: 

Dataset: 3. Voorspeller van depressie.csv

Geef aan hoeveel mannen en vrouwen aan het onderzoek hebben meegedaan en welk opleidingsniveau de deelnemers hadden, zowel in totaal als apart voor mannen en vrouwen.

Ik heb gekozen om te werken met R. Het lukte mij wel om aan te geven hoeveel mannen en vrouwen aan het onderzoek hebben meegedaan. Wat mij niet lukt was om dit apart voor mannen en vrouwen uit te zoeken.

In het antwoord van de verwerkingsopdracht in youlearn wordt een uitwerking van het by-commando genoemd, die gebruikt kan worden om deze vraag te beantwoorden. Het gaat om het commando: by(dat$educationLevel, dat$gender, freq);

Wanneer ik dit commando invoer in Rscript, komt er in de console de volgende foutmelding te staan: 

> by(dat$educationLevel, dat$gender, freq);

Error in FUN(X[[i]], ...) : object 'freq' not found

Mijn vraag is dus hoe dit commando juist kan worden uitgevoerd in deze opdracht.

Alvast hartelijk bedankt!

Gesloten met het bericht: Opgelost
in Inleiding Onderzoek (OIO, PB02x2; was Inleiding Data Analyse, IDA) door (130 punten)
gesloten door

1 Antwoord

1 leuk 0 niet-leuks

De by() functie splitst een datareeks ('vector') per niveau van een andere datareeks, en geeft die gesplitste datareeksjes dan een voor een aan een andere functie. In dit geval wil je  de datareeks educationLevel splitsen per niveau van de datareeks gender, en die gesplitste educationLevel-vectoren wil je aan de functie freq() meegeven. Die functie zit in het rosetta package, dus dat moet je specificeren: het wordt dan:

by(dat\$educationLevel,dat\$gender, rosetta::freq);

(daarvoor moet het "rosetta" package wel geinstalleerd zijn)

Je kunt ook het package in het geheugen laden met:

require("rosetta");

Dan hoef je niet meer te specificeren uit welk package freq() komt.

door (77.8k punten)
...