Lists in R Language

The post is about Lists in R Language. It is in the form of questions and answers for creating lists, updating and removing the elements of a list, and manipulating the elements of Listsin R Language.

What are Lists in R Language?

Lists in R language are the objects that contain elements of different data types such as strings, numbers, vectors, and other lists inside the list. A list can contain a matrix or a function as its elements. The list is created using the list() function in R. In other words, a list is a generic vector containing other objects. For example, in the code below, the variable $X$ contains copies of three vectors, n, s, b, and a numeric value 3.

n = c(2, 3, 5)
s = c("a", "b", "c", "d")
b = c(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE)

# create an ex that contains copies of n, s, b, and value 3
x = list(n, s, b, 3)

Explain How to Create a List in R Language

Let us create a list that contains strings, numbers, and logical values. for example,

data <- list("Green", "Blue", c(5, 6, 7, 8), TRUE, 17.5, 15:20)
print(data)

The print(data) will result in the following output.

Lists in R Language

How to Access Elements of the Lists in R Language?

To answer this, let us create a list first, that contains a vector, a list, and a matrix.

data <- list(c("Feb","Mar","Apr"), 13.4, matrix(c(3,9,5,1,-2,8), nrow = 2))

Now let us give names to the elements of the list created above and stored in the data variable.

names(data) <- c("Months", "Value", "Matrix")

data

## Output
$Months
[1] "Feb" "Mar" "Apr"

$Value
[1] 13.4

$Matrix
     [,1] [,2] [,3]
[1,]    3    5   -2
[2,]    9    1    8

To access the first element of a list by name or by index, one can type the following command.

# access the first element of the list
data[1]   #or print(data[1])
data$Months

## Output
$Months
[1] "Feb" "Mar" "Apr"

Similarly, to access the third element, use the command

# access the third element of the list
data[3]   #or print(data[3])  #or  data[[3]]
data$Matrix

## Output
$Months
[1] "Feb" "Mar" "Apr"

How Elements of the List are Manipulated in R?

To add an element at the end of the list, use the command

data[4] <- "New List Element(s)"

To remove the element of a list use

# Remove the first element of a list
data[1] <- NULL

To update certain elements of a list

data[2] = "Updated Element"

Statistics and Data Analysts

Vectors in R Programming Language

The post is about another data structure called Vectors in R Programming. It is in the form of questions and answers with examples. Here we will discuss some important vector functions, recycling of elements, and different types of vectors with examples.

What are Vectors in R Programming?

Vectors in R Programming are basic data structures. It comes in two parts: atomic vectors and lists (recursive vectors). A vector in R language is a fundamental data structure that stores a collection of elements, all of the same data type (like numbers, characters, or logical values). Vectors in R Programming are essentially one-dimensional arrays.

How many types of vectors are in R?

The primary types of vectors in R Programming are

  • Logical Vectors (stores TRUE or FALSE values)
  • Integer Vectors (Stores Whole numbers, i.e., integers only)
  • Double (Numeric) Vectors (Stores decimal numbers)
  • Character Vectors (Stores text strings)

The less common types of vectors are:

  • Complex Vectors
  • Raw Vectors.

How to Create Vectors in R Programming Language?

To create vectors in R Programming Language, the following are few ways:

  • Create a vector using integers, use the colon (:) operator. For Example, typing 2:6 results in a vector with numbers from 2 to 6, and typing 3:-4 creates a vector with the numbers 3 to -4.
  • Create a vector using the seq() Function, Write a command such as seq(from = 4.5, to = 3.0, by = -0.5) to create a vector of numbers from 4.5 to 3.0 by decrementing 0.5 step, that is, 4.5 4.0 3.5 3.0.
  • The seq() function may also be used by specifying the length of the sequence by using the argument out, e.g., seq(from = -2.7, to = 1.3, length.out = 9). It will result in -2.7 -2.2 -1.7 -1.2 -0.7 -0.2 0.3 0.8 1.3.

What are Logical Vectors in R Programming?

In R language, a logical vector contains elements having the values TRUE, FALSE, and NA. Like numerical vectors, R allows the manipulation of logical quantities.

What are Vector Functions?

In R language, some functions are used to perform some computation or operation on vector objects, for example, rep(), seq(), all(), any(), and c(), etc. However, the most common functions that are used in different vector operations are rep(), seq(), and c() functions.

How One Can Repeat Vectors in R?

One can use the rep() function to repeat the vectors. For example, to repeat a vector: c(0, 0, 7), three times, one can use rep(c(0, 0, 7), times = 3).

To repeat a vector several times, each argument can be used, for example, rep(c(2, 4, 2), each = 2).

To repeat each element, and how often it has to repeat, one can use the code, rep(c(0, 0, 7), times = 5)

The length.out argument can be used to repeat the vector until it reaches that length, even if the last repetition is incomplete. For example, rep(1:3, length.out = 9).

rep(c(0, 0, 7), times = 3)

rep(c(2, 4, 2), each = 2)
rep(c(0, 0, 7), times = 5)
rep(1:3, length.out = 9)
Vectors in R Programming Language

What is the Recycling of Elements in R Vectors?

When two vectors of different lengths are involved in an operation then the elements of the shorter vector are reused to complete the operation. This is called the recycling of elements in R vectors. For example,

v1 <- c(4, 1, 0, 6)
v2 <- c(2, 4)
v1 * v2

## Output
8, 4, 0, 24

In the above example, the elements 2 and 4 are repeated.

What do copy-on-change Issues in R?

It is an important feature of R that makes it safer to work with data. Let us create a numeric vector x1 and assign the values of x1 to x2.

x1 <- c(1, 2, 3, 4)
x2 <- x1

Now x1 and x2 vectors have exactly the same values. If one modifies the element(s) in one of the two vectors, the question is do both vectors change?

x1[1] <- 0
x1
## Output
0 2 3 4

x2

## Output
1 2 3 4

The output shows that when x1 is changed, the vector x2 will remain unchanged. It means that the assignment automatically copies the values and makes the new variable point to the copy of the data instead of the original data.

Basic Computer MCQs

Matrices in R Programming

The post is about matrices in R Programming Language. These questions are about basic concepts and will improve the understanding of R programming-related job interviews or educational examinations.

In R language, matrices are two-dimensional arrays that store elements of the same data type (numeric, character, logical, etc.). They are created using the matrix() function, which takes a vector of data and specifies the number of rows (nrow) and columns (ncol). Matrices support operations like addition (+), subtraction (-), element-wise multiplication (*), and matrix multiplication (%*%). Key functions include dim() for dimensions, t() for transpose, solve() for inverse, and diag() for diagonal elements. Matrices are widely used in linear algebra, statistics, and data manipulation in R

Question 1: Write the general format of Matrices in R Programming Language.

Answer: The general format of matrices in the R Programming Language is

Mymatrix <- matrix (vector, nrow = r , ncol = c , byrow = FALSE,
                    dimnames = list (char_vector_for_rowname, char_vector_for_colnames)
                   )
matrices in r programming language

Question 2: Explain what is transpose.

Answer: The transpose is used to re-shape data. Before performing any analysis, R language provides various methods such as the transpose method for reshaping a dataset. To transpose a matrix or a data frame t() function is used.

Question 3: What is the main difference between an Array and a Matrix?

Answer: A matrix in R language is always a two-dimensional rectangular data set as it has rows and columns. However, an array can be of any number of dimensions, while each dimension of an array is a matrix. For example, a $3\times3\times2$ array represents 2 matrices each of dimension $3\times3$.

Question 4: What are R matrices and R matrices functions?

As discussed earlier, a matrix is a two-dimensional rectangular data set. The matrices in the R Programming language can be created using vector input to the matrix() function. Also, a matrix is a collection of numbers or elements that are arranged into a fixed number of rows and columns. Usually, the numbers or elements of the matrix are the real numbers, therefore, the data elements must be of the same basic type. Two types of matrix functions can be used to perform different computations on matrices in R Programming:

  • apply()
  • apply()

Question 5: How many methods are available to use the matrices?

Answer: There are many methods to solve the matrices like adding, subtraction, negative, etc.

Question 6: What is the difference between matrix and data frames?

Answer: A data frame can contain different types of data but a matrix can contain only similar types of data.

Question 7: What is apply() function in R?

Answer: The apply() function in R returns a vector (or array or list of values) obtained by applying a function to the margins of an array or matrix. the general syntax of the apply() function in R language is:

apply(X, MARGIN, FUN, …)

A short description of the arguments for the apply() functions are

  • X is an array, including a matrix.
  • MARGIN is a vector giving the subscripts to which the function will be applied.
  • FUN is the function to be applied.
  • … is optional arguments to FUN

Question 8: What is the apply() family in R?

Answer: The apply() functions in the R language are a family of functions in the base R. The family of these functions allows the users to act on many chunks of data. A apply() function is a loop, but runs faster than loops and often requires less code. There are many different apply functions.

  • There is some aggregating function. They include mean, or the sum (includes return a number or scalar);
  • Other transforming or subsetting functions.
  • There are some vectorized functions. They return more complex structures like lists, vectors, matrices, and arrays.
  • One can perform operations with very few lines of code in apply().

Question 9: What is sapply() Function in R?

Answer: A Dimension Preserving Variant of “sapply” and “lapply”. The sapply is a user-friendly version. It is a wrapper of lapply. By default, sapply returns a vector, matrix, or array. The general syntax of sapply() and lapply() is

Sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
Lapply(X, FUN, ...)

A short description related to arguments of the above functions are:

  • X is a vector or list to call sapply.
  • FUN is a function.
  • … is optional arguments to FUN.
  • simplify is a logical value that defines whether a result is been simplified to a vector or matrix if possible.
  • USE.NAMES is logical; if TRUE and if X is a character, use X as the name for the result unless it had names already.
Rfaqs.com matrices in R Programming Language

Statistics and Data Analysis