R Data Structures
Estimated reading: 3 minutes 41 views

📏 R Vectors – Create, Access, and Manipulate 1D Data in R


🧲 Introduction – What Are Vectors in R?

Vectors are the most basic and essential data structure in R. A vector is a one-dimensional array that contains elements of the same data type—such as numbers, characters, or logical values.

Everything in R is built upon vectors. Whether you’re storing a list of names, test scores, or Boolean results, you’re working with vectors. Mastering vectors will make you more fluent in data analysis and R scripting.

🎯 In this guide, you’ll learn:

  • How to create vectors using different functions
  • Access and modify vector elements
  • Perform vectorized operations and comparisons
  • Use logical indexing and built-in vector functions

🧪 Creating Vectors in R

✅ Using c() – Combine Function

numbers <- c(1, 2, 3, 4, 5)
names <- c("Alice", "Bob", "Charlie")

✅ Using : – Sequence Operator

seq1 <- 1:5     # 1 2 3 4 5

✅ Using seq() – Custom Sequence

seq(1, 10, by = 2)  # 1 3 5 7 9

✅ Using rep() – Repeat Elements

rep(3, times = 4)       # 3 3 3 3
rep(c("A", "B"), 2)     # "A" "B" "A" "B"

🧬 Types of Vectors

TypeExample
Numericc(1, 2, 3.5)
Characterc("A", "B")
Logicalc(TRUE, FALSE, TRUE)
Integerc(1L, 2L)
Complexc(1+2i, 2+3i)

Use typeof() or class() to inspect vector type.


🧾 Accessing Elements in a Vector

🔢 By Index

x <- c(10, 20, 30, 40)
x[2]      # 20

📐 By Range

x[2:4]    # 20 30 40

🧼 Exclude Elements

x[-1]     # Removes first element: 20 30 40

🔍 By Logical Index

x[x > 25] # 30 40

🔄 Modifying Vector Elements

x[2] <- 100       # Change second element
x                 # 10 100 30 40

You can also extend a vector:

x[5] <- 50        # Adds a fifth element

🔁 Vectorized Arithmetic Operations

R is vectorized—operations apply to each element automatically.

a <- c(1, 2, 3)
b <- c(10, 20, 30)

a + b        # 11 22 33
a * 2        # 2 4 6

🔍 Vector Comparison & Logical Filtering

x <- c(5, 10, 15)
x > 8         # FALSE TRUE TRUE

x[x > 8]      # 10 15

🧠 Useful Vector Functions

FunctionPurposeExample
length()Count number of elementslength(x)
sort()Sort values in ascending ordersort(x)
rev()Reverse the vectorrev(x)
unique()Remove duplicatesunique(c(1,1,2))
sum()Add all elementssum(x)
which()Return indices of TRUE conditionswhich(x > 10)
any()TRUE if any condition is TRUEany(x > 20)
all()TRUE if all conditions are TRUEall(x > 0)

⚠️ Type Coercion in Mixed-Type Vectors

c(1, "two", TRUE)  # All elements become character

R coerces to the most flexible type: logical < integer < numeric < character.


📌 Summary – Recap & Next Steps

Vectors are at the core of data manipulation in R. They are flexible, fast, and power almost every structure in R programming.

🔍 Key Takeaways:

  • Use c(), : and seq() to create vectors
  • Index elements with numbers, ranges, logical conditions
  • Perform vectorized math and logical filtering
  • Understand coercion rules for mixed types
  • Use built-in functions like sum(), which(), and unique()

⚙️ Real-World Relevance:
Vectors are crucial for filtering datasets, summarizing values, handling user input, and automating batch processing in statistical and machine learning projects.


❓ FAQs – Vectors in R

❓ What is the difference between a vector and a list in R?
✅ A vector is homogeneous (all elements same type), while a list can store mixed types (e.g., numbers and strings).

❓ Can I store a matrix in a vector?
✅ No. Matrices are separate 2D structures. But you can flatten a matrix into a vector using as.vector(matrix).

❓ How do I check if a variable is a vector?
✅ Use is.vector():

is.vector(c(1,2,3))  # TRUE

❓ What happens if I index beyond the length of a vector?
✅ You get NA:

x <- c(1,2)
x[5]  # NA

❓ How do I remove NA values from a vector?
✅ Use na.omit() or logical indexing:

x[!is.na(x)]

Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

R – Vectors

Or Copy Link

CONTENTS
Scroll to Top