*! version 1.0 2/27/2018

Title

sigreg -- produces information for an interaction effect about the values of the moderator(s) for which a designated focal
variable’s effect on the observed or modeled outcome is signficant.

Description

sigreg produces an empirically-derived definition of the significance region of a focal variable's effect in tabular form. Also performs, if possible, a
Johnson-Neyman boundary value analysis to find the values of the moderating variables for which the effect of the focal variable is significant.
Must run intspec before running sigreg. See Kaufman (2018) for detailed explanation and step-by-step examples of using this and other ICALC add-on commands.

Syntax

sigreg , [ siglev(#, adjtype) effect(type(suboptions)) save( filepath, table matrix)
ndigits(#) concise nobva plotjn(graphname, skip#) ]

options Description

siglev(#, adjtype) # is nominal alpha-level for significance testing. Default is siglev(.05).

adjtype keyword is bonferroni, sidak or potthoff adjustment for multiple tests,
can specify potthoff in combination with either bonferroni or sidak.

effect(type(suboptions)) Type of coefficient value reported in significance region table for delta unit change in focal variable

type Keyword for coefficient type.

b for estimated coefficient

factor for factor change coefficient

spost for marginal/discrete change calculated by the SPOST13 mchange command

Default is effect(b).

suboptions b(delta) or factor(delta) where delta is

1 for 1 unit change. Default

sd for 1 standard deviation change

# any non-zero real number change

sdy for estimated effect scaled in standard deviation units of "modeled" outcome

sdyx for sdy effect calculated for a 1 standard deviation change in focal variable

Default is delta of 1.

suboptions spost(amtopt( ) atopt( )) where

amtopt( ) specifies amount-of-change options for SPOST13 mchange command ((see Long and Freese 2014).
Must include amount( ) with a single entry. Default amtopt(amount(one)).

atopt( )specifies content for the at( ) option of the margins command for predictors other than focal or moderators.
Default is atopt((asobs) _all)

save(filepath table matrix)

table Keyword table saves formatted significance region table to name & location given by filepath

matrix Keyword matrix saves formatted significance region table to name & location given by filepath

ndigits(#) # is an integer for # of digits in tables. Default ndig(2)

concise limit details in boundary value analysis report

nobva no boundary value analysis if keyword nobva specified

plotjn(graphname, skip#) request plot of Johnson-Neyman boundary values if have 2 moderators

save plot as memory graph named graphname

matrix Specify an integer to improve plot readability to skip points between markers. Default is 10

pltopts(string) string contains two-way graph options to customize appearance (e.g. line colors). These do not always work as expected.
Use the graph editor if not.

Note: Moderator range( ) specifications define points at which moderated effect is calculated for empirical significance region table.
For nominal variables all categories define calculation points. For analysis with 2+ moderators, they define points at which boundary values found for other moderator.

Example: two-way interaction

For a model predicting poor mental health days (pmhdays) by the interaction of work-family conflict (wfconflict) and job status (sei), intspec
specfies wfconflict as the focal variable and sei as its moderator. sigreg produces an empirically-derived significance region table of wfconflict's
effect on pmhdays at values of sei = 17, 27, ..., 97. Also calculates Johnson-Neyman boundary values analysis to find the values of sei
for which the effect of wfconflict changes significance.

nbreg pmhdays c.wfconflict##c.sei ...

intspec, focal(c.wfconlifct) main( (c.sei name(JobStatus) range(17(10)97)) (c.wfconflict name(WorkFamConflict) range(1/4))) int2vars(c.wfconflict#c.sei)

sigreg , ndigits(4)

*** Calculate significance region for discrete change effect of wfconflict and suppress boundary value analysis

sigreg , ndigits(4) effect(spost(amtopt(one))) nobva

*** Also save formatted table to Excel file named sigtable.xlsx

sigreg , ndigits(4) effect(spost(amtopt(one))) nobva save(\output\sigtable.xlsx tab)

Author and Citation

I would appreciate users of this and other ICALC commands citing

Robert L. Kaufman. 2018. Interaction Effects in Linear and Generalized Linear Models, Sage Publcations.