# 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.