What follows is a refresher. Presumably you’ve had enough R exposure to be aware of some of this. However, much of data processing regards data frames, or other tables of mixed data types, so more time will be spent on slicing and dicing of data frames instead. Even so, it would be impossible to use R effectively without knowing how to handle basic data types.
Base R Indexing Refresher
 "d" "e" "f"
 "m" "j" "c"
If the row/column value is empty, all rows/columns are retained.
[ : grab a slice of elements/columns
[[ : grab specific elements/columns
$ : grab specific elements/columns
@: extract slot for S4 objects
In general, position-based indexing should be avoided, except in the case of iterative programming of the sort that will be covered later. The reason is that these become magic numbers when not commented, such that no one will know what they refer to. In addition, any change to the rows/columns of data will render the numbers incorrect, where labels would still be applicable.
This following is a refresher of base R indexing only.
Here is a matrix, a data.frame and a list.
For the matrix, in separate operations, take a slice of rows, a selection of columns, and a single element.
For the data.frame, grab a column in 3 different ways.
For the list grab an element by number and by name.