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

Bij opdracht 1.2.4 wordt met onderstaande syntax een subschaal gemaakt:

COMPUTE @ASQ_vertrouwen= mean.5(ASQ_1,ASQ_2,ASQ_3,ASQ_19,ASQ_31, ASQ_33_R,ASQ_37,ASQ_38). 
 

Ik begrijp hieruit dat er een gemiddelde wordt berekend als er van de 8 vragen minimaal 5 zijn ingevuld. Hoe kan ik dit in R voor elkaar krijgen? Want met de gegeven code in R krijg ik alleen een gemiddelde als alle vragen zijn beantwoord; anders krijg je NA als output.

gerelateerd aan een antwoord op: Hoe kun je in R een variabele van de schaal maken?
in Cross-sectioneel Onderzoek (OCO, PB08x2) door (140 punten)

1 Antwoord

0 leuk 0 niet-leuks

Er zijn verschillende oplossingen. Een is om 'na.rm=TRUE' te specificeren:

### Gemakshalve even de lijst variabelenamen opslaan
varNames <- paste0("ASQ_", c(1, 2, 3, 19, 31, 33, 37, 38);
rowMeans(dat[, varNames], na.rm=TRUE);

Een andere manier is de functie 'validMeans' te gebruiken uit het 'userfriendlyscience' package, dat hetzelfde doet als 'mean.5' uit SPSS:

userfriendlyscience::validMeans(dat[, varNames], requiredValidValues=5);

Hier kan "requiredValidValues" ook een proportie zijn, trouwens.

door (77.8k punten)
...