Skip to content
Back to formatted view

Raw Message

Message-ID: <Pine.LNX.4.64.0602152205070.32611@gannet.stats.ox.ac.uk>
Date: 2006-02-15T22:11:20Z
From: Brian Ripley
Subject: arrays of lists in R ("cell arrays" in Matlab)
In-Reply-To: <43F38739.3010206@emory.edu>

On Wed, 15 Feb 2006, Giuseppe Pagnoni wrote:

> 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

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.)

> clear to me whether it is actually possible to have 2-dimensional arrays
> of lists.

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.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595