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!

Interactie plot in R

0 leuk 0 niet-leuks
Hoe kan ik een interactie plot maken in R?

Ik heb deze gegevens:

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,

                 ...)

Maar daar kom ik niet uit.

Groeten Tiffany
gevraagd 23 mei 2017 in Experimenteel Onderzoek (PB0402 en S05281) door TiffanyOW (470 punten)
Zou je de vraag kunnen aanvullen met:

1. iets van voorbeelddata (niet noodzakelijkerwijs een dataset, maar een minimaal voorbeeld om een plot op te runnen)

2a. Wat je geprobeerd hebt, en een relevante samenvatting van wat er mis gaat

2b. Een bondige samenvatting van wat je wilt bereiken, maar wat je niet snapt aan de functie interaction.plot om je doel te bereiken

3. bondige additionele informatie over de functie interaction.plot. Is het onderdeel van een package?
Is dit bijvoorbeeld iets dat je zoekt?

x1 <- sample(1:2, 20, replace=T)
x2 <- sample(1:3, 20, replace=T)
y <- x1+x2+x1*x2+rnorm(20,1,2)

interaction.plot(x1,x2,y)

Vraag:

Use ggplot2 to plot a line graph (with error bars) of the attractiveness of the date with alcohol consumption on the x-axis and different-coloured lines to represent males and females.

Ik heb deze vraag op mijn data toegepast/ omgebouwd.

Maak een plot met error bars voor de sportscore met voorlichting op de x-axis en verschillende kleuren die de lijnen representeren voor de leeftijden <45 en >45.

Ik heb niet begrepen hoe ik dat moet doen, dus om hulp gevraagd in het menu van R. Ik denk dat het valt onder de standaard ingebouwde packages. 

Die geeft deze in info.

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,

                 ...)

Ik begrijp dat ik waarschijnlijk niet alles of alle mogelijkheden nodig heb. Maar ik weet ook niet wat ik wel nodig heb om een interactieplot te maken.

Je vroeg om wat gegevens om de plot op te draaien. Wat niet perse de dataset hoefde te zijn. Ik weet niet goed hoe ik dat moet doen. Ik heb geprobeerd om het sportcasusModel in het scherm te krijgen om het zo mee te sturen maar het lukt me niet. Je zou de sportcasus.sav kunnen gebruiken maar dan is het wel de hele dataset.

Als je kunt aangeven hoe ik je een model kan toesturen dan doe ik dat graag.

Groet Tiffany

2 Antwoorden

0 leuk 0 niet-leuks

Bij het intypen van ?interaction.plot komt er meer informatie over de functie; dan wordt er per functieobject een duiding gegeven wat dit zou moeten zijn bij invoer, inclusief voorbeelden. Het opvragen van example(interaction.plot) geeft tevens de resultaten van die voorbeelden.

In de basis zul je niets meer nodig hebben dan interaction.plot(x1, x2, y), dus de twee onafhankelijke variabelen, en de afhankelijek variabelen. De rest zijn opties die je kunt gebruiken om de plot te personaliseren. Een deel hiervan zijn grafische parameters die universieel zijn voor base-plots in R, zoals  xlab, ylab , ylim , lty, col = 1, pch, xtick, xaxt, en axes. Deze kun je nu negeren, en als je de plot wilt aanpassen zoeken naar algemene info over het personaliseren van plots in R.

beantwoord 29 mei 2017 door Ron Pat-El (39,820 punten)
0 leuk 0 niet-leuks

Je kunt ook de dlvPlot gebruiken (in userfriendlyscience):

### Maak dataframe met x1 en x2
dat <- data.frame(x1 = sample(1:2, 50, replace=TRUE),
                  x2 = sample(1:3, 50, replace=TRUE));

### Voeg afhankelijke variabele toe
dat\$y <- dat\$x1+dat\$x2+dat\$x1*dat\$x2+rnorm(50,1,2);

### Bestel dlvPlot
dlvPlot(dat, x='x1', y='y', z='x2');

Dan krijg je zoiets:

Deze is beter dan de standaard interaction.plot, omdat je zo de interacties beter kunt interpreteren. Zo zie je dat hier niet veel van betekenis lijkt te gebeuren. Dat is iets minder duidelijk met de interaction.plot:

interaction.plot(dat\$x1, dat\$x2, dat\$y)

In die laatste zie je ook niet dat 'rood' (x2=1) op 'het tweede meetmoment (x1=2) misschien een outlier heeft.

beantwoord 29 mei 2017 door gjp (63,260 punten)
...