Because I remember things better when I explain them, dentist and because accessing elements inside a list in R is just barely different enough from other programming languages I’m used to that it’s throwing me off with false cognates a bit — here’s a brief tour on basic ways to access objects in an R list. This is elementary R, but I’m a novice R programmer taking notes for my own reference, so hey.
Note that the “>” at the start of some lines is the R prompt (“stuff you should type”), but that you shouldn’t type the “>.” Everything else is print output that R will display to you.
First we need to create a list which we’ll call
> mylist <- list(component = c(1,2,3))
mylist is a super-simple list. Its contents look like this:
 1 2 3
This list only has one element. It is named
component. (It also has one attribute, as Jerzy pointed out in the comments below — the single attribute is called “names”.)
We can access the element named component in a few ways:
One uses the element name, the other uses the index number. Both of these return a list, which looks like this when it’s printed out — note the
$component at the top. Inside the list is a vector of 3 numbers.
#  1 2 3
If you want to reach inside the list and get the stuff inside — in this case, that vector of 3 numbers — you can do it two ways as well: with the attribute name or the index number.
Both of them will return simply the vector — it won’t be wrapped in a list. Note how there’s no
$component label at the top.
 1 2 3
mylist[] return whatever is inside this list, and in this case it is a vector, we can access elements in it just like any other vector.
And you’ll simply get that second number in the vector.
I read on John Cook’s “R langauge for programmers” that you can think of R lists as C-style structs. That’s not too bad.
Side note: R typically gives you columns (for instance,
mymatrix gives you the first column of
mymatrix), but if you throw a comma afterwards it’ll give you rows. (For instance,
mymatrix[1,] gives you the first row of
mymatrix). You can combine these:
mymatrix[c(1,2,3),c(1,2)] gives you the first 3 rows of the first 2 columns of