Ch20 vectors
1 introdution
2 vector basics
3 important types of auto vector
4 using automic vectoer
sample(10) + 10
## [1] 13 16 17 19 18 20 14 12 11 15
1:10 + 1:2
## [1] 2 4 4 6 6 8 8 10 10 12
1:10 + 1:3
## Warning in 1:10 + 1:3: longer object length is not a multiple of shorter object
## length
## [1] 2 4 6 5 7 9 8 10 12 11
data.frame(a = 1:10, b = 1:2)
## a b
## 1 1 1
## 2 2 2
## 3 3 1
## 4 4 2
## 5 5 1
## 6 6 2
## 7 7 1
## 8 8 2
## 9 9 1
## 10 10 2
# data.frame(a = 1:10, b = 1:3)
x <- 1:10
x
## [1] 1 2 3 4 5 6 7 8 9 10
x[c(5,7)]
## [1] 5 7
x[x>5]
## [1] 6 7 8 9 10
5 recursive vectors
a <- list(a = 1:3, b = "a string", c = pi, d = list(-1, -5))
a
## $a
## [1] 1 2 3
##
## $b
## [1] "a string"
##
## $c
## [1] 3.141593
##
## $d
## $d[[1]]
## [1] -1
##
## $d[[2]]
## [1] -5
a[1:2]
## $a
## [1] 1 2 3
##
## $b
## [1] "a string"
a[[4]]
## [[1]]
## [1] -1
##
## [[2]]
## [1] -5
a[[4]][2]
## [[1]]
## [1] -5
a[[4]][[2]]
## [1] -5
6 attributes
7 augment vectors
ch21 iteration
1 introdution
2 for loops
# example from the cheatsheet
for (i in 1:4) {
j <- i + 10
print(j)
}
## [1] 11
## [1] 12
## [1] 13
## [1] 14
# example 1: numeric calculation - add 10
x <- 11:15
for (i in seq_along(x)) {
j <- x [i] + 10
print(j)
}
## [1] 21
## [1] 22
## [1] 23
## [1] 24
## [1] 25
# save output
y <- vector("integer", length(x))
for (i in seq_along(x)) {
y[i] <- x [i] %>% str_extract("[a-z]")
print(y[i])
}
## [1] NA
## [1] NA
## [1] NA
## [1] NA
## [1] NA
# output
y
## [1] NA NA NA NA NA
# example 2: string operation - extract first letter
x <- c("abc","xyz")
3 map function
4 deadly feature