These functions weight the variable `x`

by
a specific vector of `weights`

.

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

- 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.

The weighted `x`

.

`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`

.

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.

```
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
```