# plotMElm

A simple R package to plot marginal effects from interactions
estimated from linear models.

# Examples

## Continuous Term 2

The package contains one simply function: `plot_me`

for
plotting marginal effects from interactions estimated from models
estimated with the `lm`

function in base R. For example, when
the second term is continuous:

```
# Load package
library(plotMElm)
# Estimate model
states <- as.data.frame(state.x77)
m1 <- lm(Murder ~ Income * Population, data = states)
# Plot marginal effect of Income across the observed range of Population
plot_me(m1, 'Income', 'Population')
```

## Categorical (Factor) Term 2

When the second term in the interaction is a categorical (factor)
variable then point-ranges are plotted. Note that the marginal effect is
in terms of the reference category:

```
# Set Term 2 as a factor variable
mtcars$cyl <- factor(mtcars$cyl,
labels = c('4 Cyl', '6 Cyl', '8 Cyl'))
# Estimate model
m2 <- lm(mpg ~ wt * cyl, data = mtcars)
# Plot marginal effect of Weight across the Number of Cylinders
plot_me(m2, 'wt', 'cyl')
```

Note that point ranges will also be used if there are five or fewer
fitted values.

## Determining the False
Positive Rate

Esarey
and Sumner show that pointwise confidence intervals from marginal
effect plots produce statistically significant findings at a rate that
can be larger or smaller than is warrented. `plot_me`

allows
users to specify `ci_type = 'fdr'`

to find confidence
intervals that correct for overly confident marginal effects in the face
of multiple comparisons. FDR stands for “False Discovery Rate”. For
example:

```
# Plot marginal effect of Income across the observed range of Population
# with false discovery rate limited confidence intervals
plot_me(m1, 'Income', 'Population', ci_type = 'fdr')
```

Here is the result compared with standard confidence intervals:

`## t-statistic used: 2.269`

You can also use the `t_statistic`

argument to supply
custom t-statistics for creating the marginal effect confidence
intervals. This is useful if you want to use a funciton like
`findMultiLims`

from the interactTest
package to find t-statistics that can be used to correct confidence
intervals for underconfidence.

## See also

The interplot
package also has some of the same capabilities as
**plotMElm**.