[R] Output of the probemod package
Marcel Meyer
marcel.83.meyer at gmail.com
Mon Jul 13 20:22:07 CEST 2015
Hello,
I am trying to follow up a significant moderation effect in my data, using the pick-a-point (pap) and Johnson-Neyman (J-N) techniques. I have found the probemod package for this, which is very useful. Working with it over the last few weeks, 3 minor queries about the output have come up and I would be grateful for any advice in this respect. Specifically:
(1) I found that the J-N output always provides me with the exact range of my moderator. I know that this is the default setting, but what I am a bit puzzled about is that it still gives me the output for the entire range, even when I specify a smaller range manually using the mrange argument (for an example, see my script below). Have I made any mistake here? Do others have the same problem?
(2) In my case the data ranges from 8 to 15, but the package displays numbers 1-8 in the J-N output instead. I notice that 1-8 is exactly the difference between 8-15, so perhaps 1 = 8, 2 = 9, 3 = 10 and so on, in which case I can live with that ... That said, such a convention will get a bit more confusing when the moderator has a large number of values, say of range 200-1000. Is there any way such that the actual values of the moderator can be displayed in the output instead (note: the mrange argument works fine for the plot functions of this package)?
(3) What I am also a bit confused about is that, for my data, the J-N technique yields p-values of around .05 at scores 6 and 7, which presumably represent values 13 and 14 of the moderator. Using the pap approach, I obtain a p-value < .02 at the moderator value of 13.48. How can this be that these two approaches reveal such different outcomes for very similar values (i.e. 13.48 versus 13 or 14)? Perhaps there is something I am not doing right here or have misunderstood, so I would appreciate any pointers.
For ease of replicability, I provide my R code along with the data (see end of message) in the following:
# create data frame
mod1<-data.frame(fp, m, dm)
#Range of moderator
range(mod1$m)
# full interaction model
m1<-lm(dm~fp*m, data=mod1)
# call probemod package
library(probemod)
#Probemod:J-N
jnresults <- jn(m1, dv='dm', iv='fp', mod='m', mrange=10:15)
plot(jnresults)
jnresults
#Probemod: pick-a-point
ppres<-pickapoint(m1, dv='dm', iv='fp', mod='m')
plot(ppres)
ppres
#Full data:
m<-c(11, 14, 11, 12, 11, 12, 9, 12, 12, 9, 12, 8, 11, 12, 10, 9, 13, 13, 13, 12, 8, 11, 13,
10, 12, 12, 10, 11, 11, 15, 11, 11, 13, 10, 10, 15, 14, 12, 14, 13, 14, 15, 14, 10, 13, 9, 15,
13, 15, 12, 12, 14, 10, 12, 14, 10, 12, 10, 14, 9, 9, 11, 11, 13)
fp<-c(5, 6, 9, 7, 8, 8, 9, 3, 3, 7, 3, 6, 9, 3, 8, 5, 4, 6, 2, 6, 6, 5, 3, 5, 7,
8, 3, 3, 4, 3, 7, 7, 5, 4, 10, 9, 2, 9, 2, 2, 4, 3, 3, 3, 8, 5, 4, 6, 9, 4,
4, 4, 5, 5, 6, 4, 4, 3, 3, 8, 6, 6, 8, 6)
dm<-c(798.5027, 773.7591, 816.7397, 867.3680, 827.8940, 824.8648, 810.3585, 832.5348, 773.7681, 792.2763,
NA, 884.4126, 866.2052, 862.0126, 851.3000, 812.8300, 778.7394, 781.0571, 798.9329, 806.9844,
831.4983, 814.9005, 836.8078, 823.0125, 763.5780, 780.9182, NA, 842.2906, 788.2910, 835.8092,
768.4258, 734.9783, 855.5227, 833.1630, 817.5763, NA, 802.0592, 758.7745, 846.8749, 791.8602, NA,
NA, 869.1863, 766.5122, 834.5878, 882.9315, 917.4202, 804.2642, 748.3454, 800.6837, 790.6344,
758.0473, NA, NA, 814.9149, 785.4883, NA, 778.5333, 865.5467, 820.8561, 779.8348, 813.4988,
784.0798, 781.3917)
Any comments would be much appreciated.
Best,
Marcel
[[alternative HTML version deleted]]
More information about the R-help
mailing list