0
0
R Programmingprogramming~5 mins

Accessing elements ([], [[]], $) in R Programming

Choose your learning style9 modes available
Introduction

We use different ways to get parts of data from lists or data frames in R. This helps us work with the exact piece we want.

When you want to get one or more columns from a data frame.
When you want to get a single element from a list.
When you want to get a named element from a list or data frame easily.
Syntax
R Programming
x[i]       # Get elements by index or name, returns a list or subset
x[[i]]     # Get a single element by index or name, returns the element itself
x$name     # Get element by name, works like x[["name"]]

[] keeps the structure (like a list or data frame).

[[]] extracts the actual element inside.

Examples
Shows difference between [] and [[]] and using $ to get named elements.
R Programming
my_list <- list(a = 1:3, b = "hello")
my_list["a"]    # returns a list with element 'a'
my_list[["a"]]  # returns the vector 1:3
my_list$a        # returns the vector 1:3
Accessing columns in a data frame using different methods.
R Programming
df <- data.frame(x = 1:3, y = c("a", "b", "c"))
df["x"]    # returns a data frame with column x
df[["x"]]  # returns the vector 1, 2, 3
df$x        # returns the vector 1, 2, 3
Sample Program

This program shows how to access elements from a list using [], [[]], and $. The first print shows a list with one element. The next two prints show the vector inside.

R Programming
my_list <- list(numbers = 10:12, letters = c("x", "y", "z"))

# Using [] returns a list
print(my_list["numbers"])

# Using [[]] returns the vector inside
print(my_list[["numbers"]])

# Using $ returns the vector inside
print(my_list$numbers)
OutputSuccess
Important Notes

Use [] when you want to keep the original structure (like a list or data frame).

Use [[]] or $ to get the actual element inside, like a vector or number.

$ only works with names that are valid variable names (no spaces or special characters).

Summary

[] returns a subset keeping the original structure.

[[]] extracts a single element inside the list or data frame.

$ is a shortcut to get named elements easily.