Re: [R] How to extract diagonals On Wed, 2007-06-20 at 13:26 +0200, Birgit Lemcke wrote: > Hello, >  > I am using Mac OS X on a power book and R 2.5.0 >  > I try to extract a diagonal from a dissimilarity matrix made with   > dsvdis, with this code: >  > diag(DiTestRR) >  > But I get this error message: >  > Fehler in array(0, c(n, p)) : 'dim' spezifiziert ein zu groes Array >  > english: >  > Error in array(0, c(n, p)) : 'dim' specifies a too big array. >  > Is there a limit to extract diagonals? The returned object is not a matrix, but an object of class "dist" which doesn't store the diagonals or the upper triangle of the dissimilarity matrix to save memory. You need to convert the dist object to a matrix first, then extract the diagonal. But, as this shows: > require(labdsv) > ?dsvdis > data(bryceveg) > ?dsvdis > dis.bc <- dsvdis(bryceveg,index="bray/curtis") Warning in symbol.For("dsvdis") : 'symbol.For' is not needed: please remove it > diag(as.matrix(dis.bc)) This is meaningless as the diagonals are all zero, as they should be; this is the distance between a site and itself. >  > I hope somebody will help me! So perhaps you could explain why you want the diagonal. It would be easier to just do: diags <- rep(0, length = nrow(bryceveg)) That will be without the sample labels, but that is easily rectified > names(diags) <- rownames(bryceveg) > all.equal(diags, diag(as.matrix(dis.bc))) [1] TRUE So you'll have to reformulate your question if this is not what you wanted. A word of warning, do not do diag(dis.bc)) on the above as it brought my Linux box to it's knees trying to do something silly - easily recoverable, but beware. HTH G >  > Greetings >  > Birgit Lemcke --  %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%  Gavin Simpson                 [t] +44 (0)20 7679 0522  ECRC, UCL Geography,          [f] +44 (0)20 7679 0565  Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk  Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/  UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ 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 and provide commented, minimal, self-contained, reproducible code.