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!

Werken met R

0 leuk 0 niet-leuks

Beste Ron,

Ik heb een aantal vragen over het werken met R. Ik heb het in onderstaande beschreven.

Tiffany

Ik heb een paar vragen over R en ik heb ze even bij elkaar gezet in de hoop dat jij mij hiermee zou kunnen helpen.

Voor bestuderen van de stof voor experimenteel onderzoek maak ik gebruik van het boek van Andy maar dan de R versie.

Er staan een aantal pakketten in die je moet installeren wat goed gelukt is alleen het volgende lukt niet.

Het pakket WRS geeft de volgende melding.

Deze beschrijving staat in het boek.

> 'install.packages("WRS", repos="http://R-Forge.R-project.org")'

[1] "install.packages(\"WRS\", repos=\"http://R-Forge.R-project.org\")"

Maar bij require krijg ik het volgende:

> require(WRS);

Loading required package: WRS

Warning message:

In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :

  there is no package called ‘WRS’

Ik heb contrasten uitgevoerd en krijg dit;

En ik snap niet zo goed wat ik uit de data kan opmaken of hoe ik het moet zien.

> contrasts(dat$alcohol)<-cbind(c(-2,1,1), c(0,-1,1));

> contrasts(dat$gender)<-c(-1,1);

> dat$alcohol

 [1] None    None    None    None    None    None  

 [7] None    None    2 Pints 2 Pints 2 Pints 2 Pints

[13] 2 Pints 2 Pints 2 Pints 2 Pints 4 Pints 4 Pints

[19] 4 Pints 4 Pints 4 Pints 4 Pints 4 Pints 4 Pints

[25] None    None    None    None    None    None  

[31] None    None    2 Pints 2 Pints 2 Pints 2 Pints

[37] 2 Pints 2 Pints 2 Pints 2 Pints 4 Pints 4 Pints

[43] 4 Pints 4 Pints 4 Pints 4 Pints 4 Pints 4 Pints

attr(,"contrasts")

        [,1] [,2]

None      -2    0

2 Pints    1   -1

4 Pints    1    1

Levels: None 2 Pints 4 Pints

> dat$gender

 [1] Female Female Female Female Female Female Female

 [8] Female Female Female Female Female Female Female

[15] Female Female Female Female Female Female Female

[22] Female Female Female Male   Male   Male   Male 

[29] Male   Male   Male   Male   Male   Male   Male 

[36] Male   Male   Male   Male   Male   Male   Male 

[43] Male   Male   Male   Male   Male   Male 

attr(,"contrasts")

       [,1]

Female   -1

Male      1

Levels: Female Male

Dan heb ik een model gecreëerd waarna ik ook een type III SS in een model kan weergeven.

Ik ben nog niet zo ver dat ik begrijp wat een type III SS is maar ik heb het volgende gedaan.

Eerst het commando uit het boek,

Dat werkte niet toen wat aangepast en toen kreeg ik deze output.

Alleen de output verschilt van die in het boek. De SS verschillen voor een deel (alcohol en gender en de combinatie alcohol:gender en zo ook de df,  F-waardes en de P-waardes.

En omdat ik die eerder met de hand heb moeten uitrekenen, weet ik dat ze niet kloppen want ze komen niet overeen met wat ik eerder heb berekend en dat komt weer wel overeen met wat ik het boek staat.

Boek output:

Anova Table (Type III tests)

Response: attractiveness

               Sum Sq Df  F value    Pr(>F)   

(Intercept)    163333  1 1967.025 < 2.2e-16 ***

alcohol           169  1   2.0323    0.1614 ***

gender           3332  2  20.0654 7.649e-07 ***

alcohol:gender   1978  2  11.9113 7.987e-05 ***

Residuals        3487 42                      

---

Signif. codes: 

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1          

Mijn output:

> Anova(datModel, type="IH");

Error in match.arg(type) : 'arg' should be one of “II”, “III”, “2”, “3”

> Anova(datModel, type="III");

Anova Table (Type III tests)

Response: attractiveness

               Sum Sq Df  F value    Pr(>F)   

(Intercept)    163333  1 1967.025 < 2.2e-16 ***

alcohol          2082  2   12.539 5.373e-05 ***

gender           1200  1   14.452 0.0004587 ***

alcohol:gender   2197  2   13.229 3.503e-05 ***

Residuals        3487 42                      

---

Signif. codes: 

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1          

> Anova((datModel, type="IH");

Error: unexpected ',' in "Anova((datModel,"

> Anova(datModel, type="IH");

Error in match.arg(type) : 'arg' should be one of “II”, “III”, “2”, “3”

> Anova(datModel, type="III");

Anova Table (Type III tests)

Response: attractiveness

               Sum Sq Df  F value    Pr(>F)   

(Intercept)    163333  1 1967.025 < 2.2e-16 ***

alcohol          2082  2   12.539 5.373e-05 ***

gender           1200  1   14.452 0.0004587 ***

alcohol:gender   2197  2   13.229 3.503e-05 ***

Residuals        3487 42                      

---

Signif. codes: 

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> Anova((datModel, type="IH");

Error: unexpected ',' in "Anova((datModel,"

> Anova(datModel, type="I");

Error in match.arg(type) : 'arg' should be one of “II”, “III”, “2”, “3”

> Anova(datModel, type="one");

Error in match.arg(type) : 'arg' should be one of “II”, “III”, “2”, “3”

> Anova(datModel, type="II");

Anova Table (Type II tests)

Response: attractiveness

               Sum Sq Df F value    Pr(>F)   

alcohol        2082.3  2  12.539 5.373e-05 ***

gender         1200.0  1  14.452 0.0004587 ***

alcohol:gender 2196.9  2  13.229 3.503e-05 ***

Residuals      3487.5 42                     

---

Signif. codes: 

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> Anova(datModel);

Anova Table (Type II tests)

Response: attractiveness

               Sum Sq Df F value    Pr(>F)   

alcohol        2082.3  2  12.539 5.373e-05 ***

gender         1200.0  1  14.452 0.0004587 ***

alcohol:gender 2196.9  2  13.229 3.503e-05 ***

Residuals      3487.5 42                     

---

Signif. codes: 

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Ik ben even blijven proberen….

En als laatste

Kun je mij helpen bij deze opdracht:

Use ggplot2 to plot boxplots of the attractiveness of the date at each level of alcohol consumption on the x-axis and different panels to represent males and females.'

Ik heb onderstaande gevonden maar weet niet het niet helemaal omte bouwen naar een commando dat het gevraagde weergeeft.

interaction.plot(x.factor, trace.factor, response, fun = mean,

                 type = c("l", "p", "b", "o", "c"), legend = TRUE,

                 trace.label = deparse(substitute(trace.factor)),

                 fixed = FALSE,

                 xlab = deparse(substitute(x.factor)),

                 ylab = ylabel,

                 ylim = range(cells, na.rm = TRUE),

                 lty = nc:1, col = 1, pch = c(1:9, 0, letters),

                 xpd = NULL, leg.bg = par("bg"), leg.bty = "n",

                 xtick = FALSE, xaxt = par("xaxt"), axes = TRUE,

                 ...)

In ieder geval alvast bedankt voor je hulp.

Dirk heeft aangegeven dat hij nog niet zo thuis is in R. Dat herinnert mij aan nog een dingetje.

Gisteren gaf hij aan dat hij niet weer hoe de beta wordt weergegeven in R.

Weet jij dat?

Groeten Tiffany

  

gevraagd 9 april 2017 in Experimenteel Onderzoek (PB0402 en S05281) door TiffanyOW (470 punten)

1 Antwoord

0 leuk 0 niet-leuks

Het lijkt erop dat package WRS naar github is verplaatst. De oplossing is tamelijk complex, maar met onderstaande code heb ik WRS werkende gekregen:

# stap 1: installeer dependent packages
install.packages(c("MASS", "akima", "robustbase"))

# stap 2: installeer suggested packages
install.packages(c("cobs", "robust", "mgcv", "scatterplot3d", "quantreg", "rrcov", "lars", "pwr", "trimcluster", "parallel", "mc2d", "psych", "Rfit"))

# stap 3: installeer extra package voor C functions
install.packages("devtools")
library("devtools")
install_github("mrxiaohe/WRScpp")

# stap 4: installeer WRS
install_github("nicebread/WRS", subdir="pkg")

# stap 5: laad WRS in geheugen
require(WRS)

beantwoord 13 april 2017 door Ron Pat-El (43,650 punten)
...