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

Beste Ron,

Ik probeer mijn dataset te herbenoemen maar het lukt mij niet.

Hieronder wat ik gevonden en gedaan heb.

> tentamencasus_PB0202161722 <- read_sav("~/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS\ databestanden/tentamencasus\ PB0202161722.sav")
Error: '~/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS databestanden/tentamencasus PB0202161722.sav' does not exist.
> View(tentamencasus_PB0202161722)
Error in View : object 'tentamencasus_PB0202161722' not found

image

image

Wat doe ik dat niet klopt.

Ik heb ook de package haven geïnstalleerd. ik dacht de library maakt daar gebruik van misschien moet ik eerst die installeren maar het resultaat blijft het zelfde.

Kun je mij helpen?

in Experimenteel Onderzoek (OEO, PB04x2) door (470 punten)
Welke OS gebruik je? Zit je in OSX? Want meestal staat ~ al voor je home directory. Verder mix je slashes en backslashes, en lijkt er ergens een spatie te staan die er niet hoort te staan (voor 'databestanden')? Tot slot: je kunt ook data importeren met de functie 'getData()' uit package 'userfriendlyscience', dat is misschien makkelijker? Door alleen:

tentamencasus_PB0202161722 <- getData();

te gebruiken, opent er als het goed is een dialoogje waar je je file kunt selecteren. Vervolgens laat de functie zien wat het correcte pad is, dat je dan kunt gebruiken in je script.
Hallo Gjalt-Jorn,

ik gebruik OS versie 10.12.4

Er staat niet automatisch een ~ voor my home directory en via de terminal neem ik het pad precies zo over zoals het opgeslagen staat (dat klopt wel). En met getDat lukt het niet om de data op te halen en te hernoemen wat het hele punt is. Ik wil het bestand kunnen hernoemen. Nu geeft de R zelf een backup naam. En in Zelf analyseren staat niet hoe dat te doen.  

> tentamencasus_PB0202161722<-getDat("/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS\ databestanden/tentamencasus\ PB0202161722.sav");
The data has been stored in a dataframe called 'dat'. That means that if you want to repeat this command and store the dataframe with the same name, you have to use:

dat <- /Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS databestanden/tentamencasus PB0202161722.sav;

Warning message:
In getDat("/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS databestanden/tentamencasus PB0202161722.sav") :
  NOTE: an object called 'dat' already existed; I renamed it to 'dat_backup_20170424_143531'.

Groeten Tiffany

1 Antwoord

1 leuk 0 niet-leuks

Het probleem zit hem in de functie die je gebruikt. Als iets niet helemaal gaat zoals je verwacht, is het verstandig om de help pagina te raadplegen. Dit doe je door een vraagteken net voor de functienaam te plaatsen, dus in jouw geval:

?getDat

Je krijgt dan de hulppagina te zien, waar onder andere het volgende in staat:

Basic functons to make working with R easier for SPSS users: getData and getDat provide an easy way to load SPSS datafiles [...]

Usage

getData(filename = NULL, file = NULL, errorMessage =
        "[defaultErrorMessage]", applyRioLabels = TRUE,
        use.value.labels = FALSE, to.data.frame = TRUE,
        stringsAsFactors = FALSE, silent=FALSE, ...)
        
getDat(..., dfName = "dat", backup = TRUE)

[...]

getData returns the imported dataframe, with the filename from which it was read stored in the 'filename' attribute.

getDat is a simple wrapper for getData() which creates a dataframe in the parent environment, by default with the name 'dat'. Therefore, calling getDat() in the console will allow the user to select a file, and the data from the file will then be read and be available as 'dat'. If an object with dfName (i.e. 'dat' by default) already exists, it will be backed up with a warning. getDat() therefore returns nothing.

Kortom: getData en getDat zijn niet hetzelfde. De 'ruwere', 'algemenere' versie geeft het dataframe terug, en die kun je dus gebruiken in combinatie met de toewijzings-operator (<-).

Dus, je zou dit kunnen doen:

tentamencasus_PB0202161722 <- getData("/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS/databestanden/tentamencasus/PB0202161722.sav");

Dan slaat hij de data op in een dataframe dat "tentamencasus_PB0202161722" heet. Wat je ook kunt doen is:

getDat("/Users/tiffanykip/Documents/Studie/OU/Statistieken/SPSS/databestanden/tentamencasus/PB0202161722.sav", dfName = 'tentamencasus_PB0202161722');

door (77.8k punten)
Hoi Gjalt Jorn,

Bedankt voor je reactie. Ik begrijp het verschil tussen getDat en getData.

Misschien ook goed om in te voegen in het stuk Zelf Analyseren in de Praktijk.

Ik had al wel op de ? gezocht maar niet met getDat omdat ik dacht de data kan ik wel binnen halen dat is het probleem niet. Ik had gezocht op

?rename maar daar gaf hij niets bruikbaars.

Met het proberen is het gelukt door alleen de ~ weg te halen. Toen werkte het. Nu zijn er twee manieren die ik kan gebruiken.

Heb je ook nog een antwoordt voor mij op mijn andere vraag/ vragen?

Graag

Groeten Tiffany
...