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!

Hoe kan ik de value labels gebruiken in R?

0 leuk 0 niet-leuks
In SPSS is het gewoon dat de labels van de factors zichtbaar zijn, zoals man en vrouw voor geslacht. In R zijn deze zichtbaar als 0 en 1. Ik neem aan dat deze informatie wel opgeslagen is in het .sav bestand (ik ga even uit van de bestanden behorende bij de cursus). Is het mogelijk om in R ook gebruik te maken van deze labels? En zo ja, hoe krijg ik dat voor elkaar?
gerelateerd aan een antwoord op: Hoe krijg ik data van SPSS in R?
gevraagd 10 januari in Inleiding Data Analyse (IDA) door Reinout Vrijhoef (4,820 punten)

1 Antwoord

0 leuk 0 niet-leuks
 
Beste antwoord

Dit hangt er vanaf hoe je importeert. Neem bijvoorbeeld de getData functie in package userfriendlyscience:

?getData

levert op:

applyRioLabels

Whether to apply the labels supplied by Rio. This will make variables that has value labels into factors.

use.value.labels

Only useful when reading from SPSS files: whether to read variables with value labels as factors (TRUE) or numeric vectors (FALSE).

Dus, met deze twee argumenten kun je bepaken of de value labels worden ingesteld (als je ze beiden op TRUE zet, worden value labels uit SPSS toegepast). Houd er rekening mee dat je dan dus niet meer met die variabelen kunt rekenen; factoren zijn immers categorische variabelen, en hebben dus eigenlijk geen numeriek equivalent.

beantwoord 10 januari door Gjalt-Jorn Peters (41,140 punten)
geselecteerd 10 januari door Reinout Vrijhoef
Super, dank je wel. Ik dacht dat use.value.labels altijd al TRUE was, en dat je deze alleen op FALSE moest zetten, wanneer je niet wilde dat er onverhoopt variabelen in factors werden omgezet. Het rekenen met categorische variabelen lijkt me inderdaad geen goed plan. Een gemiddeld geslacht is ergens een best eng idee...
Dat lijkt zo, maar gender, de pschologische representatie van geslacht, is sowieso een continue variabele :-)

Dus zo vreemd is het nog niet :-)
Dat is waar, toch kom je ze hier en daar nog gecodeerd als 0 en 1 tegen. Ik ben er ook achter was er mis ging: de labels in de tentamencasus van IDA stonden niet in het .sav bestand. Had ik natuurlijk met SPSS even kunnen checken, maar niet gedaan... Ik heb ze er in R nu zelf aan geplakt, nu werkt alles prima.

Super, goed gedaan! :-)

Mocht iemand anders hier uitkomen en handmatig value labels willen toevoegen in R, dat kan door de variabele als factor te definieren, bijvoorbeeld:

dat$sex <- factor(dat$sex,
                  levels = c(0, 1),
                  labels = c('Male', 'Female'));

Nu is sex als nominale variabele gedefinieerd. Als je 'm ordinaal wil maken, voeg je 'ordered=TRUE' toe:

dat$sex <- factor(dat$sex,
                  levels = c(0, 1),
                  labels = c('Male', 'Female'),
                  ordered=TRUE);

Voor geslacht is dit natuurlijk niet logisch, maar voor bijvoorbeeld opleidingsniveau wel. Zie voor meer informatie:

?factor

...