Scale the Columns of a Matrix in R Programming - scale() Function
Last Updated :
17 Apr, 2025
Improve
The s
cale()
function in R is used to center and/or scale the columns of a numeric matrix. It helps standardize data by transforming it to have a mean of 0 and standard deviation of 1 .
Syntax
scale(x, center = TRUE, scale = TRUE)
Parameters:
- x: represents numeric matrix .
- center: represents either logical value or numeric alike vector equal to the number of x .
- scale: represents either logical value or numeric alike vector equal to the number of x.
Example 1:
In this example, a 2x5 matrix is created and then standardized using the scale()
function, which centers each column by subtracting its mean and scales it by dividing by its standard deviation.
mt <- matrix(1:10, ncol = 5)
cat("Matrix:\n")
head(mt)
# Scale matrix with default arguments
cat("\nAfter scaling:\n")
scale(mt)
Output:

Example 2:
In this example, a 5x4 matrix is created and then the scale()
function is used in two ways: first to center the matrix by subtracting a specified vector of values from each column and second to scale the matrix by dividing each column by a specified vector of values.
mt <- matrix(1:20, ncol = 4)
head(mt)
# Scale center by vector of values
cat("\nScale center by vector of values:\n")
scale(mt, center = c(1, 2, 3, 4), scale = FALSE)
# Scale by vector of values
cat("\nScale by vector of values:\n")
scale(mt, center = FALSE, scale = c(1, 2, 3, 4))
Output:
