tensorA (version 0.36.1)

slice.tensor: Working with the indices of a tensor (accessing, slicing, renaming, ...)

Description

Indexing of tensors allows beside the ordinary selection of ranges of indices the renaming of indices. The functions are mainly here to keep the the tensor property of the results.

Usage

slice.tensor(X,i,what,drop=FALSE)
## Methods for class tensor
# X[...,drop=TRUE]
# X[...,drop=TRUE] <- value
# X[[...,drop=TRUE]]
# X[[...,drop=TRUE]] <- value

Arguments

X

A tensor

i

an index given as number or character

what

levels of the index, a number or a character from dimnames

drop

a boolean, if true, indices with only a single level are removed

arguments of the form name=indices, and for the [[ ]] functions it also allowed to give names from the corresponding dimnames name=c("a","b") to select indices by names or name=~newname to rename dimensions, the first use makes a usual array access in the given dimension, where [[ ]] only supports a single index, while [ ] allows vectors. The other type changes the names.

Value

a new tensor with dimensions renamed or individual levels selected

Details

The functions allow to rename dimensions and to take select a part of the tensor.

See Also

einstein.tensor

Examples

Run this code
# NOT RUN {
A <- to.tensor(1:20,c(A=2,B=2,C=5))
A[C=1]
A[C=1:3]
A[[B=~b]]                  # renaming dimensions
A[[B=~b,A=~aaa]]      
A[[B=~b,A=~aaa,aaa=1]]      
A[[A=1,B=~gamma]][C=1:2]
A 
# }
# NOT RUN {
<!-- %e% A[[C="D"]] -->
# }

Run the code above in your browser using DataLab