How to Use the Square Root Function in R

Spread the love

The square root function, denoted as sqrt(), is a fundamental mathematical function in R, used to compute the square root of a number or a numeric vector. This article will guide users through an in-depth understanding of this function, exploring its usage, application, nuances, and potential issues in various contexts within R programming.

Basic Syntax and Usage:

The square root function in R has a straightforward syntax:

  • x is the numeric vector or a number whose square root you want to calculate.

Basic Example:

sqrt(25)  # returns 5

This example will return 5, which is the square root of 25.

Using sqrt( ) with Numeric Vectors:

If you provide a numeric vector as an argument to sqrt(), the function will return a numeric vector where each element is the square root of the corresponding element in the input vector.

v <- c(1, 4, 9, 16, 25)
sqrt(v)  # returns c(1, 2, 3, 4, 5)

Applications and Contexts:

1. Statistical Analysis:

The sqrt() function is essential in statistical computations such as calculating the standard deviation, where the square root of the variance is used. For instance:

variance <- 9
sd <- sqrt(variance)  # returns 3

2. Distance Computation:

In geometrical calculations and spatial analyses, the square root function is often used to calculate distances, like in the Euclidean distance formula.

point1 <- c(0, 0)
point2 <- c(3, 4)
distance <- sqrt(sum((point2 - point1)^2))  # returns 5

3. Normalizing Data:

When normalizing or transforming data, the square root transformation is a common technique, especially for reducing the impact of outliers or skewness in the data distribution.

data <- c(1, 4, 9, 16, 25)
normalized_data <- sqrt(data)

4. Graphics and Visualization:

The sqrt() function is frequently used in creating visualizations, especially in sizing elements in a scatter plot to avoid bias due to area scaling.

# Sample Data
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 3, 4.5, 5)
sizes <- c(10, 15, 20, 25, 30)

# Plotting
plot(x, y, cex = sqrt(sizes), pch = 16)

The plot function will create a scatter plot with the sizes of points adjusted using the square root of the values in the sizes vector. This is especially useful when the sizes vary significantly, and you want to reduce the discrepancy between the displayed sizes of the points.

Handling of Non-numeric and Negative Inputs:

The sqrt() function is designed to handle positive numbers and zero. When applied to negative numbers, it returns NaN (Not a Number) with a warning because square roots of negative numbers are not real numbers.

sqrt(-1)  # returns NaN with a warning

For non-numeric inputs, the sqrt() function will throw an error:

sqrt("a")  # returns an error

Handling NA and Inf Values:

If the input is NA (missing value), the square root function will return NA.

sqrt(NA)  # returns NA

If the input is Inf (infinity), the square root function will return Inf.

sqrt(Inf)  # returns Inf

Vectorization and Element-wise Operation:

One of the key features of R’s sqrt() function is its inherent vectorization, allowing it to operate on each element of a vector independently, and returning a vector of results, which is particularly useful when working with datasets.

v <- c(1, 4, 9, 16, 25)
sqrt(v)  # returns a vector c(1, 2, 3, 4, 5)


The sqrt() function in R is a basic yet powerful tool, enabling users to compute the square root of numeric values. The function’s versatility and convenience are highlighted by its varied applications ranging from statistical analysis, graphics, and visualization to algorithm development, and it is one of the essential building blocks in numerical computing and data analysis within the R environment.

While its usage is simple and straightforward, the attention to input types and values is crucial to avoid errors and warnings.

Posted in RTagged

Leave a Reply