Skip to content

arrays of lists in R ("cell arrays" in Matlab)

3 messages · Giuseppe Pagnoni, Gabor Grothendieck, Brian Ripley

#
Dear all

I would like to have some data in the form of a 2-dimensional array 
(matrix) of lists, so that I can easily find the desired list object by 
indexing the structure by rows and columns.  In matlab there exists a 
data type called "cell array": a matrix of "cells", which are composite 
objects very similar to R lists. 

I know that in R you can create 1-dimensional arrays of lists, either 
with the vector() function or by making a list of lists, but it is not 
clear to me whether it is actually possible to have 2-dimensional arrays 
of lists.

thank you very much for any suggestion

best

    giuseppe
#
Try this:

L <- list(sqrt, letters, pi, 1:4)
dim(L) <- c(2,2)
L[[1,1]](4) # 2
On 2/15/06, Giuseppe Pagnoni <gpagnon at emory.edu> wrote:
#
On Wed, 15 Feb 2006, Giuseppe Pagnoni wrote:

            
Neither of those is the same thing as a 1D array, which does exist in R.
(Using 'array' in the C sense is going to lead to confusion.)
It is, and also 1D and 3D and 17D arrays of lists. You can create a matrix 
list by assigning a dim() or by using matrix().

An array in R is just a vector with a dimension (and optionally dimnames), 
and a list is a type of vector.

Such topics are covered in the more advanced books on the S/R language.