array-slice: Array slices

Description Usage Arguments Author(s) See Also Examples

Description

Functions for extracting slices of arrays

Usage

1
2
3
4
5
6
7
8
ar_slice(tab, slice = NULL, margin = names(slice), drop = TRUE,
  as.array = FALSE)

ar_slice_prim(tab, slice, drop = TRUE)

ar_slice_mult(tab, slice, val = 1, comp = 0)

ar_slice_entries(tab, slice, complement = FALSE)

Arguments

tab

An array with named dimnames.

slice

A list defining the slice.

margin

Names of variables in slice.

drop

If TRUE then dimensions with only one level will be dropped from the output.

as.array

If the resulting array is one-dimensional the result will by default be a vector with no dim attribute unless as.array is TRUE.

val

The values that entries in the slice will be multiplied with.

comp

The values that entries NOT in the slice will be multiplied with.

complement

If TRUE the complement of the entries are returned.

Author(s)

S<c3><b8>ren H<c3><b8>jsgaard, [email protected]

See Also

ar_perm, ar_marg, ar_mult, ar_div, ar_add, ar_subt, ar_sum, ar_prod

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
x = HairEyeColor
s = list(Hair=c("Black","Brown"), Eye=c("Brown", "Blue"))

## arslice
s1 = ar_slice(x, slice=s)
s1

## ar_slice_entries
ar_slice_entries(x, slice=s)
ar_slice_entries(x, slice=s, complement=TRUE)

## ar_slice_mult
s2 = ar_slice_mult(x, slice=s)
s2

## arslice_prim does the same as arslice - faster, but the function is less
# flexible
sp = list(c(1,2), c(1,2), TRUE)
ar_slice_prim(x, slice=sp)
ar_slice(x, slice=s)
if ( require(microbenchmark) ){
  microbenchmark(ar_slice_prim(x, slice=sp), ar_slice(x, slice=s))
}

gRbase documentation built on May 29, 2017, 9:06 p.m.