Efficient weighted cross tabulation of two factors and a block

ctabs(ix, iy = integer(0), block = integer(0), weights = integer(0),
      subset = integer(0), checkNAs = TRUE)

Arguments

ix

a integer of positive values with zero indicating a missing.

iy

an optional integer of positive values with zero indicating a missing.

block

an optional blocking factor without missings.

weights

an optional vector of case weights, integer or double.

subset

an optional integer vector indicating a subset.

checkNAs

a logical for switching off missing value checks.

Details

A faster version of xtabs(weights ~ ix + iy + block, subset).

Value

If block is present, a three-way table. Otherwise, a one- or two-dimensional table.

Examples

ctabs(ix = 1:5, iy = 1:5, weights = 1:5 / 5)
#>      [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,]    0  0.0  0.0  0.0  0.0    0
#> [2,]    0  0.2  0.0  0.0  0.0    0
#> [3,]    0  0.0  0.4  0.0  0.0    0
#> [4,]    0  0.0  0.0  0.6  0.0    0
#> [5,]    0  0.0  0.0  0.0  0.8    0
#> [6,]    0  0.0  0.0  0.0  0.0    1