Miscellaneous Operators in R

Apart from the regular arithmetic, logical and relational operators, R has some miscellaneous operators. In this tutorial you will learn about the miscellaneous operators in R with examples.

Miscellaneous Operators in R

In R, miscellaneous operators are used for special purposes like data frame column selection, generating sequences, model formula, matrix multiplication, etc. Following symbols are used as miscellaneous operators in R programming language:

Operator Symbols Operation Example
$ Data frame column selection df$name
$ Named list selection lst$name
: Sequence generation 1:5
%in% Element belongs to a vector 5 %in% x
%*% Matrix Multiplication A %*% B
~ Model formula x ~ y

Examples of miscellaneous Operators in R

Data frame column selection ($)

The $ operator is used to access the column of a data frame or named list. To know more about data frames in R check our post data frames in R.

## trees is a built-in data frame
# To access the Girth column of trees
 [1]  8.3  8.6  8.8 10.5 10.7 10.8 11.0 11.0 11.1 11.2 11.3 11.4 11.4 11.7 12.0
[16] 12.9 12.9 13.3 13.7 13.8 14.0 14.2 14.5 16.0 16.3 17.3 17.5 17.9 18.0 18.0
[31] 20.6

Note that to access the variables of data frame directly with the names you can use the attach() function.

Using attach() function the data frame is attached to the R search path and the variables in the data frame can be accessed by simply giving their names.

 [1]  8.3  8.6  8.8 10.5 10.7 10.8 11.0 11.0 11.1 11.2 11.3 11.4 11.4 11.7 12.0
[16] 12.9 12.9 13.3 13.7 13.8 14.0 14.2 14.5 16.0 16.3 17.3 17.5 17.9 18.0 18.0
[31] 20.6

Named list selection ($)

The $ operator is used to access components of named list. To know more about lists in R check our post lists in R.

mylist <-list(Number =10:14,
         Fruit =c("Apple","Orange","Banana") )

The elements of component Number from the list mylist can be accessed using mylist$Number.

# to access the elements of component Number
[1] 10 11 12 13 14

The elements of component Fruit from the list mylist can be accessed using mylist$Fruit.

# to access the elements of component Fruit
[1] "Apple"  "Orange" "Banana"

Sequence Operator (:)

The sequence operator : is used to generate regular sequence.

# generate sequence from 1 to 5
[1] 1 2 3 4 5
# generate sequence from 8 to 4
[1] 8 7 6 5 4

To know more about sequence operator and examples of sequence operator check our post about Generating vectors using : operator

Examples of %in% operator

The %in% is a binary operator, which returns a logical vector indicating if there is a match or not for it left operand.

a <-  6
b <- c(4,6,16,6)
a %in% b
[1] TRUE
b %in% a

Example of %*% Operator

The operator %*% is used for actual matrix multiplication of two matrices, if they are conformable.

A <- matrix(c(1, 2, 3, 4), nrow = 2)

To get the matrix multiplication of A with A use below code:

A %*% A # Matrix Multiplication
     [,1] [,2]
[1,]    7   15
[2,]   10   22

To know more about matrix in R and various functions related to matrices check our post matrix in R.

The operator * perform element-wise matrix multiplication whereas the operator %*% perform actual matrix multiplication.

Example of ~ operator

The ~ (tilde) operator is used to separate the left- and right-hand sides in a model formula.

x <- c(12, 10, 8, 16, 6)
y <- c(15, 8, 11, 14, 7)

To fit a linear regression model of y on x, we use ~ operator in lm() function to specify the model formula.

model <- lm(y ~ x)

lm(formula = y ~ x)

(Intercept)            x  
     3.6216       0.7095  


In this tutorial you learned about some miscellaneous operators used in R and how to use these operators in R.

To learn more about other operators in R, please refer to the following tutorials:

Assignment operators in R
Arithmetic operators in R
Relational operators in R
Logical operators in R
Precendence of Operators in R
Operators in R

Hopefully you enjoyed learning this tutorial on miscellaneous operators in R. Hope the content is more than sufficient to understand miscellaneous operators in R.

VRCBuzz co-founder and passionate about making every day the greatest day of life. Raju is nerd at heart with a background in Statistics. Raju looks after overseeing day to day operations as well as focusing on strategic planning and growth of VRCBuzz products and services. Raju has more than 25 years of experience in Teaching fields. He gain energy by helping people to reach their goal and motivate to align to their passion. Raju holds a Ph.D. degree in Statistics. Raju loves to spend his leisure time on reading and implementing AI and machine learning concepts using statistical models.

Leave a Comment