Computes mean, sd and se for each sub-group (indicated by `grp`

)
of `dv`

.

- x
A (grouped) data frame.

- dv
Name of the dependent variable, for which the mean value, grouped by

`grp`

, is computed.- grp
Factor with the cross-classifying variable, where

`dv`

is grouped into the categories represented by`grp`

. Numeric vectors are coerced to factors.- weights
Name of variable in

`x`

that indicated the vector of weights that will be applied to weight all observations. Default is`NULL`

, so no weights are used.- digits
Numeric, amount of digits after decimal point when rounding estimates and values.

- out
Character vector, indicating whether the results should be printed to console (

`out = "txt"`

) or as HTML-table in the viewer-pane (`out = "viewer"`

) or browser (`out = "browser"`

), of if the results should be plotted (`out = "plot"`

, only applies to certain functions). May be abbreviated.- encoding
Character vector, indicating the charset encoding used for variable and value labels. Default is

`"UTF-8"`

. Only used when`out`

is not`"txt"`

.- file
Destination file, if the output should be saved as file. Only used when

`out`

is not`"txt"`

.

For non-grouped data frames, `means_by_group()`

returns a data frame with
following columns: `term`

, `mean`

, `N`

, `std.dev`

,

`std.error`

and `p.value`

. For grouped data frames, returns
a list of such data frames.

This function performs a One-Way-Anova with `dv`

as dependent
and `grp`

as independent variable, by calling
`lm(count ~ as.factor(grp))`

. Then `contrast`

is called to get p-values for each sub-group. P-values indicate whether
each group-mean is significantly different from the total mean.

```
data(efc)
means_by_group(efc, c12hour, e42dep)
#>
#> # Grouped Means for average number of hours of care per week by elder's dependency
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------------------
#> independent | 9.91 | 66 | 8.01 | 0.99 | < .001
#> slightly dependent | 17.54 | 225 | 17.74 | 1.18 | < .001
#> moderately dependent | 34.52 | 306 | 41.54 | 2.37 | 0.983
#> severely dependent | 75.90 | 304 | 61.72 | 3.54 | < .001
#> Total | 42.44 | 901 | 50.82 | 1.69 |
#>
#> Anova: R2=0.245; adj.R2=0.242; F=96.908; p=0.000
data(iris)
means_by_group(iris, Sepal.Width, Species)
#>
#> # Grouped Means for Sepal.Width by Species
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------
#> setosa | 3.43 | 50 | 0.38 | 0.05 | < .001
#> versicolor | 2.77 | 50 | 0.31 | 0.04 | < .001
#> virginica | 2.97 | 50 | 0.32 | 0.05 | 0.035
#> Total | 3.06 | 150 | 0.44 | 0.04 |
#>
#> Anova: R2=0.401; adj.R2=0.393; F=49.160; p=0.000
# also works for grouped data frames
if (require("dplyr")) {
efc %>%
group_by(c172code) %>%
means_by_group(c12hour, e42dep)
}
#>
#> Grouped by:
#> carer's level of education: low level of education
#>
#> # Grouped Means for average number of hours of care per week by elder's dependency
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------------------
#> independent | 16.33 | 12 | 10.74 | 3.10 | 0.024
#> slightly dependent | 15.38 | 42 | 9.55 | 1.47 | < .001
#> moderately dependent | 42.05 | 61 | 46.53 | 5.96 | 0.696
#> severely dependent | 85.52 | 65 | 56.42 | 7.00 | < .001
#> Total | 49.81 | 180 | 52.24 | 3.89 |
#>
#> Anova: R2=0.307; adj.R2=0.295; F=25.955; p=0.000
#>
#>
#> Grouped by:
#> carer's level of education: intermediate level of education
#>
#> # Grouped Means for average number of hours of care per week by elder's dependency
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------------------
#> independent | 7.96 | 45 | 3.91 | 0.58 | < .001
#> slightly dependent | 17.12 | 135 | 16.52 | 1.42 | < .001
#> moderately dependent | 33.55 | 163 | 41.05 | 3.22 | 0.753
#> severely dependent | 79.71 | 163 | 63.13 | 4.94 | < .001
#> Total | 41.76 | 506 | 51.42 | 2.29 |
#>
#> Anova: R2=0.284; adj.R2=0.280; F=66.374; p=0.000
#>
#>
#> Grouped by:
#> carer's level of education: high level of education
#>
#> # Grouped Means for average number of hours of care per week by elder's dependency
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------------------
#> independent | 15.20 | 5 | 18.43 | 8.24 | 0.363
#> slightly dependent | 18.08 | 39 | 12.98 | 2.08 | 0.146
#> moderately dependent | 28.42 | 62 | 35.64 | 4.53 | 0.670
#> severely dependent | 63.38 | 50 | 62.69 | 8.87 | < .001
#> Total | 36.62 | 156 | 46.38 | 3.71 |
#>
#> Anova: R2=0.167; adj.R2=0.151; F=10.155; p=0.000
#>
#>
# weighting
efc$weight <- abs(rnorm(n = nrow(efc), mean = 1, sd = .5))
means_by_group(efc, c12hour, e42dep, weights = weight)
#>
#> # Grouped Means for average number of hours of care per week by elder's dependency
#>
#> Category | Mean | N | SD | SE | p
#> ----------------------------------------------------------
#> independent | 10.20 | 68 | 8.63 | 1.06 | < .001
#> slightly dependent | 17.65 | 221 | 15.23 | 1.02 | < .001
#> moderately dependent | 36.89 | 305 | 44.42 | 2.54 | 0.577
#> severely dependent | 77.04 | 316 | 61.73 | 3.54 | < .001
#> Total | 44.18 | 901 | 51.90 | 1.73 |
#>
#> Anova: R2=0.242; adj.R2=0.239; F=95.336; p=0.000
```