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

>> but that does not help for further calculations in eigen().

    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:
>> > you are advised to perform your own checks. Email
>> 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
>> > PLEASE do read the posting guide!
>> http://www.R-project.org/posting-guide.html
>>
>>
>> ______________________________________________
>> R-help@stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide!
>> 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
    Mark> https://stat.ethz.ch/mailman/listinfo/r-help     Mark> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Apr 14 01:37:27 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:07 EST