These functions weight the variable `x`

by
a specific vector of `weights`

.

```
weight(x, weights, digits = 0)
weight2(x, weights)
```

## Arguments

x |
(Unweighted) variable. |
---|

weights |
Vector with same length as `x` , which
contains weight factors. Each value of `x` has a
specific assigned weight in `weights` . |
---|

digits |
Numeric value indicating the number of decimal places to be
used for rounding the weighted values. By default, this value is
`0` , i.e. the returned values are integer values. |
---|

## Details

`weight2()`

sums up all `weights`

values of the associated
categories of `x`

, whereas `weight()`

uses a
`xtabs`

formula to weight cases. Thus, `weight()`

may return a vector of different length than `x`

.

## Note

The values of the returned vector are in sorted order, whereas the values'
order of the original `x`

may be spread randomly. Hence, `x`

can't be
used, for instance, for further cross tabulation. In case you want to have
weighted contingency tables or (grouped) box plots etc., use the `weightBy`

argument of most functions.

## Examples

```
v <- sample(1:4, 20, TRUE)
table(v)
#> v
#> 1 2 3 4
#> 3 6 5 6
w <- abs(rnorm(20))
table(weight(v, w))
#>
#> 1 2 3 4
#> 2 5 5 3
table(weight2(v, w))
#>
#> 1 2 3 4
#> 2 5 5 3
set.seed(1)
x <- sample(letters[1:5], size = 20, replace = TRUE)
w <- runif(n = 20)
table(x)
#> x
#> a b c d e
#> 6 4 3 1 6
table(weight(x, w))
#>
#> a b c e
#> 3 3 2 3
```