A simple container for storing mappings of values using logical matrices. Keeps track of which values (rows) are present in which observations (columns). LogMap objects can be created with LogMap(); queries can be performed with [[ and observations can be added or removed with [[<-

LogMap(y)

# S4 method for LogMap,character,missing
[[(x, i, j, ...)

# S4 method for LogMap,missing,missing
[[(x, i, j, ...)

# S4 method for LogMap,NULL,missing
[[(x, i, j, ...)

# S4 method for LogMap,character,missing,character
[[(x, i, j, ...) <- value

# S4 method for LogMap,character,missing,integer
[[(x, i, j, ...) <- value

# S4 method for LogMap,character,missing,NULL
[[(x, i, j, ...) <- value

# S4 method for LogMap,character,missing,numeric
[[(x, i, j, ...) <- value

Arguments

y

A character vector

x

A LogMap object

i

A character vector of length 1, or NULL

j

Not used

...

Ignored

value

A character or integer vector of values to record in the map for i, or NULL to remove the record for i

Value

LogMap: A new LogMap object with zero columns and length(x = x) rows; rownames are set to x

[[: if i is a character vector, the rownames that are mapped to i; otherwise the rownames of x

[[<-: If value is NULL, then x without the observations for i; otherwise, x with a new column for i recording a TRUE for all values present in value

Slots

.Data

A logical matrix with at least one row

See also

Logical map objects, validity, and interaction methods: LogMap-validity, as.matrix.LogMap(), droplevels.LogMap(), intersect.LogMap(), labels.LogMap()

Examples

# Create a LogMap
map <- LogMap(letters[1:10])
map
#> A logical map for 10 values across 0 observations

# Get the names of values in the LogMap
map[[NULL]]
#>  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
rownames(map)
#>  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

# Add an observation to the LogMap
map[['obs']] <- c(1, 3, 7)
map[['entry']] <- c(2, 7, 10)
map
#> A logical map for 10 values across 2 observations

# Get the names of observations in the LogMap
colnames(map)
#> [1] "obs"   "entry"

# Fetch an observation from the LogMap
map[['obs']]
#> [1] "a" "c" "g"

# Get the full logical matrix
map[[]]
#>     obs entry
#> a  TRUE FALSE
#> b FALSE  TRUE
#> c  TRUE FALSE
#> d FALSE FALSE
#> e FALSE FALSE
#> f FALSE FALSE
#> g  TRUE  TRUE
#> h FALSE FALSE
#> i FALSE FALSE
#> j FALSE  TRUE

# Remove an observation from the LogMap
map[['obs']] <- NULL
map[['entry']] <- NULL
map
#> A logical map for 10 values across 0 observations