Type: Package
Title: Centering and Scaling of Numeric Data
Version: 0.1.2
Description: Provides simple methods for centering and scaling of numeric data. Columns or rows can be ignored when normalizing or be normalized jointly.
License: GPL (≥ 3)
Encoding: UTF-8
RoxygenNote: 7.3.2
Suggests: testthat (≥ 3.0.0)
Config/testthat/edition: 3
Imports: stats
URL: https://github.com/loelschlaeger/normalize
BugReports: https://github.com/loelschlaeger/normalize/issues
NeedsCompilation: no
Packaged: 2025-06-10 17:17:10 UTC; Lennart Oelschläger
Author: Lennart Oelschläger [aut, cre]
Maintainer: Lennart Oelschläger <oelschlaeger.lennart@gmail.com>
Repository: CRAN
Date/Publication: 2025-06-10 17:30:02 UTC

normalize: Centering and Scaling of Numeric Data

Description

logo

Provides simple methods for centering and scaling of numeric data. Columns or rows can be ignored when normalizing or be normalized jointly.

Author(s)

Maintainer: Lennart Oelschläger oelschlaeger.lennart@gmail.com

See Also

Useful links:


Centering and scaling of numeric data

Description

Methods to normalize numeric data with respect to mean and variance.

Usage

normalize(x, center = TRUE, scale = TRUE, ...)

## Default S3 method:
normalize(x, ...)

## S3 method for class 'numeric'
normalize(x, center = TRUE, scale = TRUE, ...)

## S3 method for class 'matrix'
normalize(
  x,
  center = TRUE,
  scale = TRUE,
  byrow = FALSE,
  ignore = integer(),
  jointly = list(),
  ...
)

## S3 method for class 'data.frame'
normalize(
  x,
  center = TRUE,
  scale = TRUE,
  byrow = FALSE,
  ignore = integer(),
  jointly = list(),
  ...
)

## S3 method for class 'list'
normalize(x, center = TRUE, scale = TRUE, ...)

Arguments

x

An object to be normalized.

center

[logical(1)]
Normalize to zero mean?

scale

[logical(1)]
Normalize to unit variance?

...

Further arguments to be passed to or from other methods.

byrow

[logical(1)]
Only relevant if x has two dimensions (rows and columns).

In this case, set to TRUE to normalize row-wise or FALSE to normalize column-wise (default).

ignore

[integer()]
Column indices (or row indices if byrow = TRUE) to not normalize.

jointly

[list()]
Disjoint column indices (or row indices if byrow = TRUE) to normalize jointly.

Value

The normalized input x with the centering and scaling values used (if any) added as attributes "center" and "scale".

Examples

# can normalize numeric vectors, matrices, data.frames, and lists of those
normalize(
  list(
    c(-3, 0, 3),
    matrix(1:12, nrow = 3, ncol = 4),
    data.frame(a = 1:3, b = 4:6, c = 7:9, d = 10:12)
  )
)

# can ignore columns (or rows)
normalize(
  data.frame(a = 1:3, b = c("A", "B", "C"), c = 7:9, d = 10:12),
  ignore = 2
)

# can normalize columns (or rows) jointly
normalize(
  matrix(1:12, nrow = 3, ncol = 4),
  jointly = list(1:2, 3:4)
)