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, and data frames. If you have preconceptions about data structures, I suggest you put them aside. R does data structures differently.

If you want to study the technical aspects of R’s data structures, I suggest reading
*R in a
Nutshell* (O’Reilly) and the *R Language
Definition*. My notes here are more informal. These are things
I wish I’d known when I started using R.

Here are some key properties of vectors:

- Vectors are homogeneous
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 of`v`

.- Vectors can be indexed by multiple positions, returning a subvector
So

`v[c(2,3)]`

is a subvector of`v`

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")`

Moe Larry Curly 10 20 30`print(v)`

- If vector elements have names then you can select them by name
Continuing the previous example:

>

Larry 20`v["Larry"]`

- Lists are heterogeneous
Lists can contain elements of different types; in R terminology, list elements may have different modes. Lists can even contain other structured objects, such as lists and data frames; this ...

Start Free Trial

No credit card required