Types of Objects in R

R language operates on entities which are known as objects. There are various types of objects in R exists, such as vectors, matrices, factors, lists, data frames, functions, etc. In R, objects are classified into several types based on their structure and content.

Types of Objects in R

Matrices

Arrays or matrices are multi-dimensional generalizations of vectors. Matrices are vectors indexed by two or more indices and displayed specially. Matrices contain rows and columns of homogeneous elements. The class of matrices object is “matrix”. See more about matrices by following the matrices.

Factors

Factors are used to handle categorical data. Factor variables may contain two or more levels, used to define the group or category of the variable. See more about factors in detail by following factors.

Lists

Lists are a general form of vectors in which the various elements need not be of the same type, that is, lists may contain heterogeneous data. Lists are often vectors or lists themselves. Lists are a convenient way to get different results from statistical computation, as lists may contain different types of data objects. See more about lists by following the link Lists.

Data Frame

Data frame objects are similar to matrix object structures. Unlike matrix objects, the data frame objects may contain different types of objects, that is, heterogeneous data. Think of the data frame as “Data Matrices” with one row per observational unit but with (possibly) both numerical and categorical variables. Many experiments are best described by data frames, the treatments are categorical but the response (output) is numeric. For more details about the data frame, follow the link data frame.

Functions

Functions are themselves objects. In R Language, functions can be stored in the project’s workspace. Functions provide a quick, simple, and convenient way to extend the functionality and power of R. See more about functions and customization of functions, see Functions.

Examples of Different Types of Objects in R

# Scalar types
x <- 5        # Numeric (integer)
y <- 3.14159  # Numeric (double)
z <- "Hello"  # Character
b <- TRUE     # Logical

# Vector types
numbers <- c(1, 2, 3, 4)                  # Numeric vector
fruits <- c("apple", "banana", "orange")  # Character vector
bools <- c(TRUE, FALSE, TRUE)             # Logical vector

# Data frame
df <- data.frame(
  name = c("Ali", "Babar", "Usman"),
  age = c(25, 30, 28),
  city = c("Multan", "Lahore", "Karachi")
)

# Matrix
mat <- matrix(1:9, nrow = 3, ncol = 3)

# List
my_list <- list(
  numbers = numbers,
  fruits = fruits,
  df = df
)

# Factor
colors <- factor(c("red", "blue", "green", "red"))
Types of Objects in R Language

https://itfeature.com, https://gmstat.com

Special Values in R Programming: A Quick Guide

There are some special values in R Programming language, namely, these are NA, Inf, -inf, NaN, and NULL.

Special Values in R Programming Language

For numeric variables, several formalized special values are used. The calculations involving special values often result in special values. Regarding statistics, the real-world phenomenon should not include a special value. Therefore, it is desirable to handle special values before performing any statistical, especially inferential analysis. On the other hand, functions in R result in errors or warnings when a variable contains special values.

The NA values in R (NA stands for Not Available) represent the missing observations. A missing value may occur due to the non-response of the respondent or may arise when the vector size is expanded. For example,

v = c(1, 5, 6)
v[5] = 4
v

## Output
[1]  1  5  6 NA  4

To learn about how to handle missing values in R, see the article: Handling Missing Values in R

Inf and -Inf values in R represent a too-big number, which occurs during computation. Inf is for the positive number and -Inf is for the negative number (both represent the positive infinity, and negative infinity, respectively). Inf or -Inf also results when a value or variable is divided by 0. For example,

2 ^ 1024
## Output
[1] Inf

-2^1024

## Output
[1] -Inf

1/0

## Output
[1] Inf

-Inf + 1e10

## Output
[1] -Inf
Special Values in R programming Language

Sometimes a computation will produce a result that makes little sense. In such cases, R often returns NaN (Not a Number). For example,

Inf - Inf
NaN
0/0

## Output

In R, the Null object is represented by the symbol NULL. It is often used as an argument in functions to represent that no value was assigned to the argument. Additionally, some functions may return NULL. Note that the NULL is not the same as NA, Inf, -Inf, or NaN.

Getting Information about Special Values

Also, look at the str(), typeof(), and the length of Inf, -Inf, NA, NaN, and Null.

It is worth noting that, the special values in numeric variables indicate values that are not an element of the mathematical set of real numbers. One can use is.finite() function to determine whether the values are regular values or special values. is.finite() function only accepts vector objects. for example,

is.finite(c(1, Inf, NaN, NA))

A function can be written to deal with every numerical column in a data frame. For example,

special <- function(x){
    if (is.numeric(x)){
        return(!is.finite(x))
    }else {
        return (is.na(x))
    }
}

sapply(airquality, special)
Special values in R programming

The user defined special() function will test each column of the data frame object (airquality). The function will each special value if the object is numeric, otherwise it only checks for NA.

R FAQs: Special Values in R Programming

https://itfeature.com

https://gmstat.com

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