Arithmetic Operators in R

Introduction to Arithmetic Operators in R

The article is about making use of arithmetic operators in R Language. The usual arithmetic operations with the usual hierarchy are:

OperatorShort Description
+Addition operator
Subtraction operator
*Multiplication operator
/Division operator
^Exponent operator
# Addition of two or more numbers and varaibles
2 + 7

## output
[1] 9

2.2 + 8.13 + 9

## output
[1] 19.33

Note that, the symbol [1] in the output indicates the element number in this output line.

Defining a Variable in R

Suppose, one wants to define a variable, e.g., $x=5$

R will create an object to store that value and show it when we enter that variable. The object is not displayed on the screen but stored in the active memory of R. The object will be displayed by typing the object name on the R prompt.

To define a variable, we use an assignment operator, i.e., <- (assignment operator) which plays the role of equality (=). For example,

x <- 5
x
Arithmetic Operator and assignment operator in R

The assignment operator (->) may also be used. However, the assignment operator (->) assignment the value from left to right. For example,

x <- 2

will assign the value 2 to variable $x$ and

x ^ 2 -> y

assigns $x^2$ to object (variable) $y$.

Note that by assigning a new value to the same variable, the old value will automatically be over-written (deleted). For example,

x <- 4
x

x <-5
x <- 2

x

Usually, spaces are not required to separate the elements of an arithmetic expression.

Note:

  • If a command is not complete at the end of a line you will see a “+” sign, meaning you must complete the command.
  • Commands are separated by a semi-colon at a new line
  • Comments will be lines starting with a hash mark “#”
  • The interpreter ignores text to the right of #.

Use of Arithmetic Operators in R to Compute a Formula

Question: Find the distance between 2 points (2, 4, 6), and (4.2, 7.1, 8.6).

Solution: The distance between two points say $(x_1,x_2,x_3)$ and $(y_1,y_2,y_3)$ is defined as $$\sqrt{(x_1-y_1)^2 + (x_2-y_2)^2 + (x_3-y_3)^2}$$. The R code may be like:

sqrt((2-4.2)^2 + (4-7.2)^2 + (6-8.6)^2)

# alternatively one can store point values such as
x1 = 2
x2 = 4
x3 = 6
y1 = 4.2
y2 = 7.1
y3 = 8.6

sqrt((x1-y1)^2 + (x2-y2)^2 + (x3-y3)^2)
Arithmetic operators in R and distance between two points

https://itfeature.com

https://rfaqs.com

Operators in R Language Made Easy

Introduction to Operators in R Language

In R language, different types of operators (symbols) are used to perform mathematical and logical computations. R Language is enriched with built-in operators.

Operators in R

The types of operators in the R language are:

  • Arithmetic Operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Miscellaneous Operators
Operators in R Language

Arithmetic Operators in R

The arithmetic operators in R can be used to perform basic mathematical computations (such as addition, subtraction, multiplication, and division) on numbers or elements of the vectors. The following are some examples, related to arithmetic operators.

# Add two vectors
v1 <- c(3,4,5,6)
v2 <- 1:4
print(v1+v2)

# Subtract 2nd vector from 1st
v2 - v1

# Multiply both vectors
v1 * v2

# Divide the 1st vector witht the 2nd
v1/v2

# Compute the remainder by dividing 1st vector with 2nd
v1%%v2

# Compute the Quotient by division of 1st vector with the second
v1%/%v2
# Compute raised to power of other vecotor
v1^v2
Arithmetic Operators in R Language

Relational Operators in R

The relational operators are used for comparison purposes. When comparing elements of two vectors, each element of the first vector is compared with the corresponding element of the second vector and results in a Boolean value. The examples are:

# less than comparison
v1 < v2

# greater than comparison
v1 > v2

# exactly equal comparison
v1 == v2

# less than or equal to comparison
v1 <= v2

# greater than or equal to comparison
v1 >= v2

# not equal to comparison
v1 != v2
Relational Operators in R Language

Logical Operators in R

The logical operators are used to compare vectors having types of logical (TRUE or FALSE), numeric, or complex numbers. The vectors having values greater than 1 are all considered logical TRUE values.

The examples that make use of logical operators are:

L1 <- c(2, TRUE, 2+2i, FALSE)
L2 <- c(4, 1, 3+1i, TRUE)
# logical AND Operator (Results in TRUE if corresponding elements of vectors are TRUE only)
L1 & L2

# logical OR Operator (Results in TRUE, if either corresponding element of a vector is TRUE
L1 | L2

# logical NOT Operator (Results in opposite logical value)
!L1
Logical Operator in R Language

The logical operators && and || consider the first element of the vectors and give a vector of a single element as output. The && (AND) operator takes the first element of both the vectors and gives the TRUE only if both elements are TRUE. The || (OR) operator takes the first element of both vectors and gives the TRUE if one of them is TRUE.

# && Operator
L1 && L2

# || Operator
L1 || L2

Assignment Operators in R

The assignment operators are used to assign values to vectors or variables. The examples are

# <-, =, and <<- assignment operator (Left Assignment)
x1 <- c(3, 5, 6, 7, 8, 9)
x2 =  c(3, 5, 6, 7, 8, 9)
x3 <<-c(3, 5, 6, 7, 8, 9)

# ->, --> (Right Assignment)
x4 -> c(3, 5, 6, 7, 8, 9)
x5 ->>c(3, 5, 6, 7, 8, 9)

Miscellaneous Operators in R

These operators are used for specific purposes and are not general mathematical or logical computers. These operators include the colon operator, %in% operator, and %*% operator. The Colon operator generates the series of numbers in sequence for a vector. The %in% identifies an element that belongs to a vector and multiplies a matrix with its transpose, matrix multiplication.

# Colon (:) Operator
2:10

# %in% Operator
v1 <- c(5, 6, 4, 7, 8, 9, 2, 3, 4)
4 %in% v1

# %*% Operator
M = matrix(c(3,5,6, 3,2,4), nrow = 2, ncol= 3)
m%*%t(M)

https://itfeature.com

https://rfaqs.com

How to Round Off Numbers in R: A Comprehensive Guide

The R language is capable of performing from easy to advanced numerical calculations. Although R can compute any computation up to 16 digits accurately, a user may not always want to use (or get) that too many digits in his final results or computations. In such cases, one can use a couple of functions to round off numbers in R Language. To round off a number to two or more digits after the decimal point, one can use the round() function as follows:

Round off Numbers in R Language

round(123.456,digits = 2)

##
123.46

One can also use the round() function to round off numbers to multiples of 10, 100, and so on. For that purpose, one just needs to add a negative number as the digits argument: For example

round(-123.456,digits = -2)

##
-100
Round of Numbers in R Language

Significant Digits in R Language

If someone needs to specify the number of significant digits to be retained, regardless of the size of the number, you use the signif() function instead:

signif(-123.456,digits = 4)
##
-123.5

signif(-123.456, digits=3)
##
-123

signif(-123.456, digits=2)
##
-120

Both round() and signif() round off the numbers to the nearest possible number. So, if the first digit that is dropped is smaller than 5, the number is rounded down. If the number is bigger than 5, the number is rounded up. On the other hand, if the first digit that is dropped is exactly 5, R Language uses a rule that is common in programming languages: Always round to the nearest even number. For example, round(1.5) and round(2.5) both return 2, Similarly, for example, round(-4.5) returns -4.

Rounding off Numbers floor(), ceiling(), and trunc() Functions

Contrary to round(), three other functions always round off the numbers in the same direction:

floor(x) rounds to the nearest integer that is smaller than $x$. So, floor(123.45) becomes 123 and floor(-123.45) becomes –124.

ceiling(x) rounds to the nearest integer that’s larger than $x$. This means ceiling(123.45) becomes 124 and ceiling(-123.45) becomes –123.

trunc(x) rounds to the nearest integer in the direction of 0. So, trunc(123.65) becomes 123 and trunc(-123.65) becomes –123.

https://itfeature.com

https://gmstat.com