[R] Matrixes as data

Kjetil Halvorsen kjetilbrinchmannhalvorsen at gmail.com
Fri Oct 16 18:18:19 CEST 2009

Thanks. The points of having the column of matrices (all the same dimension)
in a data.frame, is that there are also other data, each matrix is at
a location, so there are geographical
coordinates and possibly other measurements at the same location.


On Fri, Oct 16, 2009 at 12:46 PM, Barry Rowlingson
<b.rowlingson at lancaster.ac.uk> wrote:
> On Fri, Oct 16, 2009 at 4:36 PM, Kjetil Halvorsen
> <kjetilbrinchmannhalvorsen at gmail.com> wrote:
>> Hola!
>> I am working on a problem where data points are (square) matrices. Is
>> there a way to make a
>> "vector" of matrices, such that it can be stored in a data.frame? Can
>> that be done with S3?
>> or do I have to learn S4 objects & methods?
>  If the matrices are all the same size then you could store them in an
> array, which is essentially a 3 or more dimensional matrix.
>  Otherwise, you can store them in a list, and get them by number:
> foo = list(matrix(1:9,3,3),matrix(1:16,4,4))
> foo[[1]]
> foo[[2]]
> and so forth.
> You'll only need to create new object classes (with S3 or S4) if you
> want special behaviour of vectors of these things (such as plot(foo)
> doing something sensible).
>  With S3 it's easy:
> class(foo)="squareMatrixVector"
> plot.squareMatrixVector=function(x,y,...){
>  cat("ouch\n")
> }
>  plot(foo)
> ouch
> Barry

More information about the R-help mailing list