4.6 Quiz answers
Positive integers select elements at specific positions, negative integers drop elements; logical vectors keep elements at positions corresponding to
TRUE
; character vectors select elements with matching names.[
selects sub-lists: it always returns a list. If you use it with a single positive integer, it returns a list of length one.[[
selects an element within a list.$
is a convenient shorthand:x$y
is equivalent tox[["y"]]
.Use
drop = FALSE
if you are subsetting a matrix, array, or data frame and you want to preserve the original dimensions. You should almost always use it when subsetting inside a function.If
x
is a matrix,x[] <- 0
will replace every element with 0, keeping the same number of rows and columns. In contrast,x <- 0
completely replaces the matrix with the value 0.A named character vector can act as a simple lookup table:
c(x = 1, y = 2, z = 3)[c("y", "z", "x")]