Define function to create a 'diagonal' array or get the diagonal of an array
Define function to create a 'diagonal' array or get the diagonal of an array
diag3Darray(x =1, dim = length(x), out ="vector")
Arguments
x: number or vector defining the value of the diagonal of 3D array
dim: integer defining the length of the diagonal. Default is length(x). If length(x) != 1, dim must be equal to length(x).
out: character specifying which type of diagonal to return ("vector"
or "matrix"). See Details
Returns
array with all elements zero except the diagonal, with dimensions c(dim,dim,dim)
Details
The diagonal of a 3D array has been defined as those elements in positions c(int,int,int), i.e., the three digits are the same.
If the diagonal should be returned, out specifies if it should return a "vector" with the elements of position c(int,int,int), or "matrix" with the elements of position c(int,dim,int), i.e., dim = 2 -> elements (1,1,1),(2,1,2),(3,1,3),(1,2,1),(2,2,2),(3,2,3),(3,1,3),(3,2,3),(3,3,3).