pad()
is used alongside the standard rray subsetting operator [
(and
the underlying rray_subset()
function) to easily subset into higher
dimensions without having to explicitly list the intermediate commas.
pad()
An object that can be used to pad dimensions with when subsetting.
x <- rray(1:4, c(1, 1, 2, 2)) # pad() fills in the missing dimensions # essentially it adds commas automatically # second element in the 4th dimension x[pad(), 2]#> <rray<int>[,1,2,1][1]> #> , , 1, 1 #> #> [,1] #> [1,] 3 #> #> , , 2, 1 #> #> [,1] #> [1,] 4 #># vs using x[,,,2]#> <rray<int>[,1,2,1][1]> #> , , 1, 1 #> #> [,1] #> [1,] 3 #> #> , , 2, 1 #> #> [,1] #> [1,] 4 #># second element in 3rd # first element in 4th x[pad(), 2, 1]#> <rray<int>[,1,1,1][1]> #> , , 1, 1 #> #> [,1] #> [1,] 2 #># can fill in the missing gaps too # this fills in the 2nd/3rd dimensions x[1, pad(), 1]#> <rray<int>[,1,2,1][1]> #> , , 1, 1 #> #> [,1] #> [1,] 1 #> #> , , 2, 1 #> #> [,1] #> [1,] 2 #># if a pad() isn't needed # because the dimensionality is already fully # specified by the indices, its ignored x_flat <- rray_reshape(x, 4) x_flat[pad(), 1]#> <rray<int>[1]> #> [1] 1x_flat[1, pad()]#> <rray<int>[1]> #> [1] 1# `pad()` can be used with base R # objects as well through `rray_subset()` x_arr <- as.array(x) rray_subset(x_arr, pad(), 1)#> , , 1, 1 #> #> [,1] #> [1,] 1 #> #> , , 2, 1 #> #> [,1] #> [1,] 2 #>