0% found this document useful (0 votes)
52 views

Vector List

The document discusses ways to create vectors and matrices in R. Vectors can be created using c() and specifying different object types like numeric, logical, and character values. Matrices are vectors with dimension attributes and are constructed column-wise. Lists are also introduced as vectors that can contain elements of different classes.

Uploaded by

der
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Vector List

The document discusses ways to create vectors and matrices in R. Vectors can be created using c() and specifying different object types like numeric, logical, and character values. Matrices are vectors with dimension attributes and are constructed column-wise. Lists are also introduced as vectors that can contain elements of different classes.

Uploaded by

der
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Creating Vectors

The c() function can be used to create vectors of objects.


>
>
>
>
>
>

x
x
x
x
x
x

<<<<<<-

c(0.5, 0.6)
c(TRUE, FALSE)
c(T, F)
c("a", "b", "c")
9:29
c(1+0i, 2+4i)

##
##
##
##
##
##

numeric
logical
logical
character
integer
complex

Using the vector() function


> x <- vector("numeric", length = 10)
> x
[1] 0 0 0 0 0 0 0 0 0 0

8/27

Mixing Objects
What about the following?
> y <- c(1.7, "a")
> y <- c(TRUE, 2)
> y <- c("a", TRUE)

## character
## numeric
## character

When different objects are mixed in a vector, coercion occurs so that every element in the vector is
of the same class.

9/27

Explicit Coercion
Objects can be explicitly coerced from one class to another using the as.* functions, if available.
> x <- 0:6
> class(x)
[1] "integer"
> as.numeric(x)
[1] 0 1 2 3 4 5 6
> as.logical(x)
[1] FALSE TRUE TRUE TRUE TRUE
> as.character(x)
[1] "0" "1" "2" "3" "4" "5" "6"

TRUE

TRUE

10/27

Explicit Coercion
Nonsensical coercion results in NAs.
> x <- c("a", "b", "c")
> as.numeric(x)
[1] NA NA NA
Warning message:
NAs introduced by coercion
> as.logical(x)
[1] NA NA NA
> as.complex(x)
[1] NA NA NA
Warning message:
NAs introduced by coercion

11/27

Matrices
Matrices are vectors with a dimension attribute. The dimension attribute is itself an integer vector of
length 2 (nrow, ncol)
> m <- matrix(nrow = 2, ncol = 3)
> m
[,1] [,2] [,3]
[1,]
NA
NA
NA
[2,]
NA
NA
NA
> dim(m)
[1] 2 3
> attributes(m)
$dim
[1] 2 3

12/27

Matrices (contd)
Matrices are constructed column-wise, so entries can be thought of starting in the upper left corner
and running down the columns.
> m <- matrix(1:6, nrow = 2, ncol = 3)
> m
[,1] [,2] [,3]
[1,]
1
3
5
[2,]
2
4
6

13/27

Matrices (contd)
Matrices can also be created directly from vectors by adding a dimension attribute.
> m <- 1:10
> m
[1] 1 2 3 4 5 6 7 8 9 10
> dim(m) <- c(2, 5)
> m
[,1] [,2] [,3] [,4] [,5]
[1,]
1
3
5
7
9
[2,]
2
4
6
8
10

14/27

cbind-ing and rbind-ing


Matrices can be created by column-binding or row-binding with cbind() and rbind().
> x <- 1:3
> y <- 10:12
> cbind(x, y)
x y
[1,] 1 10
[2,] 2 11
[3,] 3 12
> rbind(x, y)
[,1] [,2] [,3]
x
1
2
3
y
10
11
12

15/27

Lists
Lists are a special type of vector that can contain elements of different classes. Lists are a very
important data type in R and you should get to know them well.
> x <- list(1, "a", TRUE, 1 + 4i)
> x
[[1]]
[1] 1
[[2]]
[1] "a"
[[3]]
[1] TRUE
[[4]]
[1] 1+4i

16/27

You might also like