RE: [R] Binary Matrices

From: Martin Maechler <maechler_at_stat.math.ethz.ch>
Date: Thu 14 Apr 2005 - 01:17:13 EST

>>>>> "Mark" == Mark Edmondson-Jones <Mark.Edmondson-jones@nottingham.ac.uk> >>>>> on Wed, 13 Apr 2005 15:40:26 +0100 writes:

Mark> 1000x1000 is only indicative. I need to generate     Mark> larger (adjacency) matrices using a variety of models.

Mark> Most are sparse, with a high proportion of zeros and     Mark> so SparseM sounds very promising. I will investigate.

As others have said, you can use either 'SparseM' or 'Matrix'. The latter has also good code for sparse matrices, and actually I know that Doug Bates was going to implement sparse logical matrices in the next few days.
Those actually need (quite) a bit less space than sparse double matrices, since you only need to store the indices of the TRUE entries.

Martin

>>>> "Liaw, Andy" <andy_liaw@merck.com> 13/04/2005 >>>

>> -----Original Message-----
>> From: Uwe Ligges
>>
>> Mark Edmondson-Jones wrote:
>>
>> > I'm wanting to perform analysis (e.g. using eigen()) of
>> binary matrices - i.e. matrices comprising 0s and 1s.
>> >
>> > For example:
>> >
>> > n<-1000
>> > test.mat<-matrix(round(runif(n^2)),n,n)
>> > eigen(test.mat,only.values=T)
>> >
>> > Is there a more efficient way of setting up test.mat, as
>> each cell only requires a binary digit? I imagine R is
>> setting up a structure which could contain n^2 floats.
>>
>> No. In principle you could use logicals,

Mark> ... but that doesn't save any memory:

>> object.size(integer(1e6))
Mark> [1] 4000028
>> object.size(logical(1e6))
Mark> [1] 4000028

```    Mark> Besides, if the problem size is really 1000 x 1000, one matrix in
Mark> double precision is only 8MB.  As Reid said, if the matrix is sparse,
Mark> there's probably a lot more saving in both memory and computation
Mark> by using SparseM and Matrix packages.

```

Mark> Cheers,
Mark> Andy

>> Uwe Ligges
>>
>>
>> > Thanks in advance for any help.
>> >
>> > Regards,
>> > Mark
>> >
>> >
>> > This message has been checked for viruses but the contents
>> of an attachment
>> > may still contain software viruses, which could damage your
>> computer system:
>> communications with the
>> > University of Nottingham may be monitored as permitted by
>> UK legislation.
>> >
>> > ______________________________________________
>> > R-help@stat.math.ethz.ch mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>>
>>
>> ______________________________________________
>> R-help@stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>>
>>
>>

```    Mark> ------------------------------------------------------------------------------

Mark> ------------------------------------------------------------------------------

Mark> This message has been checked for viruses but the contents of an attachment
Mark> may still contain software viruses, which could damage your computer system:
```
Mark> you are advised to perform your own checks. Email communications with the     Mark> University of Nottingham may be monitored as permitted by UK legislation.
```    Mark> ______________________________________________
Mark> R-help@stat.math.ethz.ch mailing list
```