What you call an "array" is usually just called a list in R. You fall under the difference between [ and [[ for lists. See the section "Recursive (list-like) objects" in help("[") .
x[[1]][["a"]] <- 1
UPDATE:
Note that the above solution creates a list of named vectors. In other words, something like
x[[1]][["a"]] <- 1 x[[1]][["b"]] <- 1:2
will not work because you cannot assign multiple values to one element of the vector. If you want to assign a vector to a name, you can use a list of lists.
x[[1]] <- as.list(x[[1]]) x[[1]][["b"]] <- 1:2
source share