R: Geometric and Harmonic Mean (Matlab Style)

geomean, harmmean {pracma} | R Documentation

## Geometric and Harmonic Mean (Matlab Style)

### Description

Geometric and harmonic mean along a dimension of a vector, matrix, or array.
`trimmean` is almost the same as `mean` in R.

### Usage

    geomean(x, dim = 1)
    harmmean(x, dim = 1)

    trimmean(x, percent = 0)

### Arguments

`x` | numeric vector, matrix, or array.
`dim` | dimension along which to take the mean; `dim=1` means along columns, `dim=2` along rows, the result will still be a row vector, not a column vector as in Matlab.
`percent` | percentage, between 0 and 100, of trimmed values.

### Details

`trimmean` does not call `mean` with the `trim` option, but rather calculates `k<-round(n*percent/100/2)` and leaves out `k` values at the beginning and end of the sorted `x` vector (or row or column of a matrix).

### Value

Returns a scalar or vector (or array) of geometric or harmonic means: For `dim=1` the mean of columns, `dim=2` the mean of rows, etc.

### Note

To have an exact analogue of `mean(x)` in Matlab, apply `trimmean(x)`.

### See Also

`mean`

### Examples

    A <- matrix(1:12, 3, 4)
    geomean(A, dim = 1)
    ## [1]  1.817121  4.932424  7.958114 10.969613
    harmmean(A, dim = 2)
    ## [1] 2.679426 4.367246 5.760000

    x <- c(-0.98, -0.90, -0.68, -0.61, -0.61, -0.38, -0.37, -0.32, -0.20, -0.16,
            0.00,  0.05,  0.12,  0.30,  0.44,  0.77,  1.37,  1.64,  1.72,  2.80)
    trimmean(x); trimmean(x, 20)    # 0.2  0.085
    mean(x); mean(x, 0.10)          # 0.2  0.085

[Package pracma version 2.0.4 Index]