# weighted_sd: Weighted statistics for tests and variables In sjstats: Collection of Convenient Functions for Common Statistical Computations

## Description

Weighted statistics for variables

`weighted_sd()`, `weighted_se()`, `weighted_mean()` and `weighted_median()` compute weighted standard deviation, standard error, mean or median for a variable or for all variables of a data frame. `survey_median()` computes the median for a variable in a survey-design (see `svydesign`). `weighted_correlation()` computes a weighted correlation for a two-sided alternative hypothesis.

Weighted tests

`weighted_ttest()` computes a weighted t-test, while `weighted_mannwhitney()` computes a weighted Mann-Whitney-U test or a Kruskal-Wallis test (for more than two groups). `weighted_chisqtest()` computes a weighted Chi-squared test for contigency tables.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61``` ```survey_median(x, design) weighted_chisqtest(data, ...) ## Default S3 method: weighted_chisqtest(data, x, y, weights, ...) ## S3 method for class 'formula' weighted_chisqtest(formula, data, ...) weighted_correlation(data, ...) ## Default S3 method: weighted_correlation(data, x, y, weights, ci.lvl = 0.95, ...) ## S3 method for class 'formula' weighted_correlation(formula, data, ci.lvl = 0.95, ...) weighted_mean(x, weights = NULL) weighted_median(x, weights = NULL) weighted_mannwhitney(data, ...) ## Default S3 method: weighted_mannwhitney(data, x, grp, weights, ...) ## S3 method for class 'formula' weighted_mannwhitney(formula, data, ...) weighted_sd(x, weights = NULL) wtd_sd(x, weights = NULL) weighted_se(x, weights = NULL) weighted_ttest(data, ...) ## Default S3 method: weighted_ttest( data, x, y = NULL, weights, mu = 0, paired = FALSE, ci.lvl = 0.95, alternative = c("two.sided", "less", "greater"), ... ) ## S3 method for class 'formula' weighted_ttest( formula, data, mu = 0, paired = FALSE, ci.lvl = 0.95, alternative = c("two.sided", "less", "greater"), ... ) ```

## Arguments

 `x` (Numeric) vector or a data frame. For `survey_median()`, `weighted_ttest()`, `weighted_mannwhitney()` and `weighted_chisqtest()` the bare (unquoted) variable name, or a character vector with the variable name. `design` An object of class `svydesign`, providing a specification of the survey design. `data` A data frame. `...` For `weighted_ttest()` and `weighted_mannwhitney()`, currently not used. For `weighted_chisqtest()`, further arguments passed down to `chisq.test`. `y` Optional, bare (unquoted) variable name, or a character vector with the variable name. `weights` Bare (unquoted) variable name, or a character vector with the variable name of the numeric vector of weights. If `weights = NULL`, unweighted statistic is reported. `formula` A formula of the form `lhs ~ rhs1 + rhs2` where `lhs` is a numeric variable giving the data values and `rhs1` a factor with two levels giving the corresponding groups and `rhs2` a variable with weights. `ci.lvl` Confidence level of the interval. `grp` Bare (unquoted) name of the cross-classifying variable, where `x` is grouped into the categories represented by `grp`, or a character vector with the variable name. `mu` A number indicating the true value of the mean (or difference in means if you are performing a two sample test). `paired` Logical, whether to compute a paired t-test. `alternative` A character string specifying the alternative hypothesis, must be one of `"two.sided"` (default), `"greater"` or `"less"`. You can specify just the initial letter.

## Value

The weighted (test) statistic.

## Note

`weighted_chisq()` is a convenient wrapper for `crosstable_statistics`. For a weighted one-way Anova, use `means_by_group()` with `weights`-argument.

`weighted_ttest()` assumes unequal variance between the two groups.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39``` ```# weighted sd and se ---- weighted_sd(rnorm(n = 100, mean = 3), runif(n = 100)) data(efc) weighted_sd(efc[, 1:3], runif(n = nrow(efc))) weighted_se(efc[, 1:3], runif(n = nrow(efc))) # survey_median ---- # median for variables from weighted survey designs if (require("survey")) { data(nhanes_sample) des <- svydesign( id = ~SDMVPSU, strat = ~SDMVSTRA, weights = ~WTINT2YR, nest = TRUE, data = nhanes_sample ) survey_median(total, des) survey_median("total", des) } # weighted t-test ---- efc\$weight <- abs(rnorm(nrow(efc), 1, .3)) weighted_ttest(efc, e17age, weights = weight) weighted_ttest(efc, e17age, c160age, weights = weight) weighted_ttest(e17age ~ e16sex + weight, efc) # weighted Mann-Whitney-U-test ---- weighted_mannwhitney(c12hour ~ c161sex + weight, efc) # weighted Chi-squared-test ---- weighted_chisqtest(efc, c161sex, e16sex, weights = weight, correct = FALSE) weighted_chisqtest(c172code ~ c161sex + weight, efc) # weighted Chi-squared-test for given probabilities ---- weighted_chisqtest(c172code ~ weight, efc, p = c(.33, .33, .34)) ```

sjstats documentation built on Jan. 13, 2021, 6:06 p.m.