## Statistical helper functions

There are dozens of useful helper functions in the `umx`

library.
A great overview of these is sitting in the package help (`?umx`

). It’s organized into families of functions
to help you navigate.

### umxAPA

Many functions in R present data in ways designed for programming pipelines, and to be highly modular. This is great for programming, but not so good in helping you quickly create tables, and text-summaries of the results of a hypothesis test.

`umxAPA`

is a flexible function to summarize, process, and present data in ways that are suitable for viewing or inclusion in publications. If we walk through a writeup, it’s value can soon be seen.

First, you might need descriptive statistics. Given a dataframe, `umxAPA`

will return a table of correlations, with the mean and SD of each variable as the last row. So, umxAPA(mtcars[,c(“cyl”, “wt”, “mpg”, )] yields a table of correlations, means and SDs thus:

cyl | wt | mpg | |
---|---|---|---|

cyl | 1 | 0.78 | -0.85 |

wt | 0.78 | 1 | -0.87 |

mpg | -0.85 | -0.87 | 1 |

mean_sd | 6.19 | (1.79) | 3.22 |

Next, having run a linear model, you’ll want to tell readers what the result was, with an effect, CI, and p-value formatted correctly.

Given an `lm`

model, `umxAPA`

will return a formatted effect, including 95% CI in square brackets, for each effect. or all of the effects (specified by name in se). e.g.:

```
m1 = lm(mpg~wt, data = mtcars)
umxAPA(m1, "wt")
```

β = -5.34 [-6.49, -4.2], t = -9.56, p < 0.001

You can also just ask for one effect, by setting the name that appears in the anova table. You can also standardize the model. An example of this is:

```
m1 = lm(mpg ~ wt + disp, data = mtcars)
umxAPA(m1, "wt", std = TRUE)
```

β = -0.54 [-0.93, -0.16], t = -2.88, p = 0.007

Perhaps while writing the introduction, you hit data from another paper that gave only a beta and se, and you’d like the CI. `umxAPA`

returns a CI based on 1.96 times the se. e.g. `umxAPA(.3, se=.1)`

yields: β = 0.3 [0.1, 0.5].

While the `digits=`

parameter of umx functions often gives you numbers to the precision you need, often you’ll need to format a p-value. Just give `umxAPA`

a single value, it will be treated as a p-value as returned in APA format. e.g., `umxAPA(.000034)`

gives “< 0.001”

You will often want to report a correlation. Pass in a cor.test object to `umxAPA`

.

```
m1 = cor.test(~mpg + wt, data = mtcars)
umxAPA(m1)
```

yields: r = -0.87 [-0.93, -0.74], t(30) = -9.56, p = < 0.001

`umxAPA`

works the same way for several other objects, including `t.test`

:

```
m1 = t.test(extra ~ group, data = sleep)
umxAPA(m1)
```

Means were ‘0.75’ and ‘2.33’. CI[-3.37, 0.21]. t(17.78) = -1.86, p = 0.08

On my **TODO** list are tutorial blogs about:

- umx_aggregate
- umx_names
- umx_print
- umx_time
- FishersMethod
- umxWeightedAIC
- tmx_is.identified
- tmx_show