R Data Structures

Introduction

In this chapter, you will learn about various data structures in R. Understanding these data structures is crucial for effectively managing and manipulating data in your R programs. The main data structures in R include vectors, lists, matrices, arrays, data frames, and factors.

Vectors

Vectors are the most basic data structures in R. They are one-dimensional arrays that can hold numeric, character, or logical data.

Creating Vectors

Example:

# Numeric vector num_vec <- c(1, 2, 3, 4, 5) print(num_vec) # Character vector char_vec <- c("a", "b", "c", "d", "e") print(char_vec) # Logical vector log_vec <- c(TRUE, FALSE, TRUE, TRUE, FALSE) print(log_vec) 

Accessing Elements

Example:

# Accessing elements print(num_vec[1]) # Output: 1 print(char_vec[2]) # Output: "b" print(log_vec[3]) # Output: TRUE 

Vector Operations

Example:

# Vector operations vec1 <- c(1, 2, 3) vec2 <- c(4, 5, 6) # Addition print(vec1 + vec2) # Output: 5 7 9 # Subtraction print(vec1 - vec2) # Output: -3 -3 -3 # Multiplication print(vec1 * vec2) # Output: 4 10 18 # Division print(vec1 / vec2) # Output: 0.25 0.4 0.5 

Lists

Lists are versatile data structures that can hold elements of different types, including other lists.

Creating Lists

Example:

# Creating a list my_list <- list(num_vec, char_vec, log_vec) print(my_list) 

Accessing Elements

Example:

# Accessing elements print(my_list[[1]]) # Access first element (num_vec) print(my_list[[2]][3]) # Access third element of char_vec 

Matrices

Matrices are two-dimensional arrays that can hold numeric, character, or logical data. All elements in a matrix must be of the same type.

Creating Matrices

Example:

# Creating a matrix mat <- matrix(1:9, nrow = 3, ncol = 3) print(mat) 

Accessing Elements

Example:

# Accessing elements print(mat[1, 2]) # Access element at first row, second column print(mat[, 3]) # Access all elements of the third column print(mat[2, ]) # Access all elements of the second row 

Arrays

Arrays are multi-dimensional generalizations of matrices.

Creating Arrays

Example:

# Creating an array arr <- array(1:12, dim = c(3, 2, 2)) print(arr) 

Accessing Elements

Example:

# Accessing elements print(arr[1, , ]) # Access all elements of the first row across all dimensions print(arr[, 2, 1]) # Access all elements of the second column in the first matrix 

Data Frames

Data frames are two-dimensional data structures that can hold elements of different types (numeric, character, logical) in each column.

Creating Data Frames

Example:

# Creating a data frame df <- data.frame(Name = c("Alice", "Bob", "Charlie"), Age = c(25, 30, 35), Gender = c("F", "M", "M")) print(df) 

Accessing Elements

Example:

# Accessing elements print(df$Name) # Access the 'Name' column print(df[1, ]) # Access the first row print(df[, 2]) # Access the second column print(df[2, 3]) # Access element at second row, third column 

Factors

Factors are used to represent categorical data. They can be ordered or unordered.

Creating Factors

Example:

# Creating a factor factor_data <- factor(c("low", "medium", "high", "medium", "low")) print(factor_data) print(levels(factor_data)) # Output: "high" "low" "medium" 

Changing Factor Levels

Example:

# Changing factor levels levels(factor_data) <- c("low", "medium", "high") print(factor_data) 

Example Program Using Different Data Structures

Here is an example program that demonstrates the use of various data structures in R:

# Example program using different data structures # Vectors num_vec <- c(1, 2, 3, 4, 5) char_vec <- c("a", "b", "c", "d", "e") log_vec <- c(TRUE, FALSE, TRUE, TRUE, FALSE) # Lists my_list <- list(num_vec, char_vec, log_vec) # Matrices mat <- matrix(1:9, nrow = 3, ncol = 3) # Arrays arr <- array(1:12, dim = c(3, 2, 2)) # Data Frames df <- data.frame(Name = c("Alice", "Bob", "Charlie"), Age = c(25, 30, 35), Gender = c("F", "M", "M")) # Factors factor_data <- factor(c("low", "medium", "high", "medium", "low")) # Print data structures print("Numeric Vector:") print(num_vec) print("Character Vector:") print(char_vec) print("Logical Vector:") print(log_vec) print("List:") print(my_list) print("Matrix:") print(mat) print("Array:") print(arr) print("Data Frame:") print(df) print("Factor:") print(factor_data) 

Conclusion

In this chapter, you learned about various data structures in R, including vectors, lists, matrices, arrays, data frames, and factors. These data structures are fundamental for managing and manipulating data in R. By mastering these data structures, you can efficiently handle different types of data and perform complex data analysis tasks in your R programs.

Leave a Comment

Scroll to Top