Extension of S4Vectors::SimpleList that requires uniquely-named elements and holds only TxpSlice objects.
Usage
TxpSliceList(...)
# S4 method for class 'TxpSliceList'
txpValueNames(x, simplify = FALSE)
# S4 method for class 'TxpSliceList'
txpTransFuncs(x, simplify = FALSE)
# S4 method for class 'TxpSliceList'
duplicated(x)
as.TxpSliceList(x)
Arguments
- ...
TxpSlice object to create
TxpSliceList
object; MUST give unique names to each slice- x
TxpSliceList
object- simplify
Scalar logical, when
TRUE
the returnedlist
is simplified to avector
/TxpTransFuncList object
Details
Note, there is no coercion for TxpSlice to TxpSliceList
because unique
names are required.
Functions
txpValueNames(TxpSliceList)
: Returnlist
oftxpValueNames
slots for the contained TxpSlice objects, orvector
whensimplify = TRUE
txpTransFuncs(TxpSliceList)
: Returnlist
oftxpTransFuncs
slots for the contained TxpSlice objects, or TxpTransFuncList whensimplify = TRUE
duplicated(TxpSliceList)
: Returns logical vector oflength(x)
, whereTRUE
indicates a duplicate slice in the list; see base::duplicated
Examples
## Create TxpSlice objects
s1 <- TxpSlice("input1", list(linear = function(x) x))
s2 <- TxpSlice(c("input2", "input3"),
list(log = function(x) log(x), sqrt = function(x) sqrt(x)))
## Create TxpSliceList
sl <- TxpSliceList(s1 = s1, s2 = s2)
## Accessors
txpValueNames(sl)
#> $s1
#> [1] "input1"
#>
#> $s2
#> [1] "input2" "input3"
#>
txpValueNames(sl, simplify = TRUE)
#> s1 s21 s22
#> "input1" "input2" "input3"
txpTransFuncs(sl)
#> $s1
#> TxpTransFuncList of length 1: linear
#>
#> $s2
#> TxpTransFuncList of length 2: log sqrt
#>
txpTransFuncs(sl, simplify = TRUE)
#> TxpTransFuncList of length 3: linear log sqrt
## Coercion
as(list(s1 = TxpSlice("hello"), s2 = TxpSlice("user")), "TxpSliceList")
#> TxpSliceList of length 2
#> names(2): s1 s2
as.TxpSliceList(c(s1 = TxpSlice("hello"), s2 = TxpSlice("user")))
#> TxpSliceList of length 2
#> names(2): s1 s2
## Concatenation
c(sl, TxpSliceList(s3 = TxpSlice("input4")))
#> TxpSliceList of length 3
#> names(3): s1 s2 s3
## Reduce TxpSliceList to single slice
Reduce(merge, sl)
#> TxpSlice with 3 inputs.
#> txpValueNames(3): input1 input2 input3
#> txpTransFuncs(3): linear log sqrt