Chapter 5. Data Structures
You can get pretty far in R just using vectors. That’s what Chapter 2 is all about. This chapter moves beyond vectors to recipes for matrices, lists, factors, data frames, and tibbles (which are a special kind of data frame). If you have preconceptions about data structures, we suggest you put them aside. R does data structures differently than many other languages. Before we get to the recipes in this chapter, we’ll take a quick look at different data structures in R.
If you want to study the technical aspects of R’s data structures, we suggest reading R in a Nutshell and the R Language Definition. The notes here are more informal. These are things we wish we’d known when we started using R.
Vectors
Here are some key properties of vectors:
- Vectors are homogeneou.s
-
All elements of a vector must have the same type or, in R terminology, the same mode.
- Vectors can be indexed by position.
-
So
v[2]
refers to the second element ofv
. - Vectors can be indexed by multiple positions, returning a subvector.
-
So
v[c(2,3)]
is a subvector ofv
that consists of the second and third elements. - Vector elements can have names.
-
Vectors have a
names
property, the same length as the vector itself, that gives names to the elements:v
<-
c
(
10
,
20
,
30
)
names
(
v
)
<-
c
(
"Moe"
,
"Larry"
,
"Curly"
)
print
(
v
)
#> Moe Larry Curly
#> 10 20 30
- If vector elements have names, then you can select them by name.
-
Continuing the previous example:
v
[[
"Larry"
]]
#> [1] 20
Lists
Here are ...
Get R Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.