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
data("trees")
# To access the Girth column of trees
trees$Girth
 [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.

attach(trees)
Girth
 [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
mylist$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
mylist$Fruit
[1] "Apple"  "Orange" "Banana"

Sequence Operator (:)

The sequence operator : is used to generate regular sequence.

# generate sequence from 1 to 5
1:5
[1] 1 2 3 4 5
# generate sequence from 8 to 4
8: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
[1] FALSE  TRUE FALSE  TRUE

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)
model

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
     3.6216       0.7095  

Endnote

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.

Leave a Comment