Sociologiskforum.dk var aktivt fra 2004-2012, men eksisterer i dag kun som arkiv.

Illustration af interaktion, Stata

Skrevet d. 31.05.2011 af Blanco
Hejsa

Jeg vil gerne illustrere en cross-level interaction ved grafisk at vise de marginale effekter af x på y for de variererende z-niveauer.
Jeg føler, at jeg er utrolig tæt på målet, da jeg faktisk får Stata til at lave grafen, men det eneste jeg ikke får med er de "bånd" jeg gerne vil have på hver side af grafen, der skal indikere 95%-konfidensintervaller.

Jeg er næsten sikker på, at problemet ligger, at -xtmixed- ikke gemmer noget i (e(df_r)), hvilket er den kommando,som jeg ville bruge, hvis der var tale om alm. regression. Problemet er, at jeg ikke ved, hvad den skal erstattes med, når man bruger xtmixed for at få det til at fungere.

Det ville være fantastisk, hvis nogen kan svare på dette :)

Jeg viser lige hele syntaxen nedenfor, og det er altså i den sidste del med (e(df_r)), at det går galt...

Mvh Niels

xtmixed etnoc BNP social foreign rightparl2 centage centkoen centudd centhighin centmedin centrestin ///
centpaid centstud centpens centledig centfaa centmange c.centfaa#c.rightparl2 c.centmange#c.rightparl2 if included==1, || cntry: , var cov(un)

sum rightparl2 if e(sample)==1
sum rightparl2

margins, dydx(centmange) at (rightparl2=(0 (0.05) 1))
estadd margins, dydx(centmange) at (rightparl2=(0 (0.05) 1))

clear
global mvn = "rightparl2"
matrix mvtemp = r(at)
matrix mv= mvtemp[1... , "$mvn"]
svmat mv,names(col)
matrix dydx = r(b)`
matrix colnames dydx = dydx
svmat dydx, names(col)
matrix sedydx = e(margins_se)`
matrix colnames sedydx = sedydx
svmat sedydx, names(col)
generate halfci = invttail(e(df_r),.025)*sedydx
generate ciupper = dydx+halfci
generate cilower = dydx-halfci

twoway ///
(line dydx $mvn, clcolor(black)) ///
(line ciupper $mvn,clpattern(dash) clcolor(black)) ///
(line cilower $mvn,clpattern(dash) clcolor(black)), ///
yline(0) ///
ytitle("Marginal effekt af kontakt på etnocentrisme") ///
legend(col(1) ///
order (1 2) ///
label (1 "Marginal effekt af kontakt") ///
label (2 "95% Konfidensinterval"))
Skrevet d. 31.05.2011 af Blanco
Hov, helt den sidste del er det ikke, men altså i linjen "generate halfci = invttail(e(df_r),.025)*sedydx", som det kan ses :)

Andre læser også

Sociologiskforum.dk benytter cookies til blandt andet statistik og marketing. Ved at benytte hjemmesiden accepterer du vores brug af cookies. Okay