# reorder.array: Reorder an Array or Matrix In memisc: Tools for Management of Survey Data and for the Presentation of Analysis Results

## Description

`reorder.array` reorders an array along a specified dimension according given names, indices or results of a function applied.

## Usage

 ```1 2 3 4``` ```## S3 method for class 'array' reorder(x,dim=1,names=NULL,indices=NULL,FUN=mean,...) ## S3 method for class 'matrix' reorder(x,dim=1,names=NULL,indices=NULL,FUN=mean,...) ```

## Arguments

 `x` An array `dim` An integer specifying the dimension along which `x` should be ordered. `names` A character vector `indices` A numeric vector `FUN` A function that can be used in `apply(x,dim,FUN)` `...` further arguments, ignored.

## Details

Typical usages are

 ```1 2 3 4``` ``` reorder(x,dim,names) reorder(x,dim,indices) reorder(x,dim,FUN) ```

The result of `rename(x,dim,names)` is `x` reordered such that `dimnames(x)[[dim]]` is equal to the concatenation of those elements of `names` that are in `dimnames(x)[[dim]]` and the remaining elements of `dimnames(x)[[dim]]`.

The result of `rename(x,dim,indices)` is `x` reordered along `dim` according to `indices`.

The result of `rename(x,dim,FUN)` is `x` reordered along `dim` according to `order(apply(x,dim,FUN))`.

## Value

The reordered object `x`.

The default method of `reorder` in package `stats`.
 ```1 2 3 4 5``` ``` (M <- matrix(rnorm(n=25),5,5,dimnames=list(LETTERS[1:5],letters[1:5]))) reorder(M,dim=1,names=c("E","A")) reorder(M,dim=2,indices=3:1) reorder(M,dim=1) reorder(M,dim=2) ```