[R] package:Matrix handling of data with identical indices

From: Thaden, John J <ThadenJohnJ_at_uams.edu>
Date: Sun 09 Jul 2006 - 13:45:57 EST


In the Matrix package v. 0.995-11 I see that the dgTMatrix Class for compressed, sparse, triplet-form matrices handles Identically indexed data instances by summing their values, e.g.,

library(Matrix)
(Mt <- new("dgTMatrix",

   i = as.integer(c(0,0,1,1,4)),
   j = as.integer(c(0,1,2,2,4)),
   x = as.double(1:5),

   Dim = as.integer(c(5,5))))
## 5 x 5 sparse Matrix of class "dgTMatrix"
## [1,] 1 2 . . .
## [2,] . . 7 . . <--- 7 = 3 + 4.
## [3,] . . . . .
## [4,] . . . . .
## [5,] . . . . 5

# If instead I make a dgCMatrix-class matrix, the first # instance is overwritten by the second, e.g.,

library(Matrix)
(Mc <- new("dgCMatrix",

   i = as.integer(c(0,0,1,1,4)),
   p = as.integer(c(0,1,2,4,5)),
   x = as.double(1:5),

   Dim = as.integer(c(5,5))))
## 5 x 5 sparse Matrix of class "dgCMatrix"
##
## [1,] 1 2 . .
## [2,] . . 4 . <-- the datum '3' has been lost.
## [3,] . . . .
## [4,] . . . .
## [5,] . . . 5

# If one arrives at the dgCMatrix via the dgTMatrix class, # the summed value is of course preserved, e.g.,

(Mtc <- as(Mt, "dgCMatrix"))
## 5 x 5 sparse Matrix of class "dgCMatrix"
##
## [1,] 1 2 . . .
## [2,] . . 7 . .
## [3,] . . . . .
## [4,] . . . . .
## [5,] . . . . 5

As there is nothing inherent in either compressed, sparse, format that would prevent recognition and handling of duplicated index pairs, I'm curious why the dgCMatrix class doesn't also add x values in those instances? I wonder also if others might benefit also by being able to choose how these instances are handled, i.e., whether they are summed, averaged or overwritten?

-John Thaden, Ph.D.
Research Assistant Professor of Geriatrics University of Arkansas for Medical Sciences Little Rock AR, USA

Confidentiality Notice: This e-mail message, including any a...{{dropped}}



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 Sun Jul 09 13:59:53 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Mon 10 Jul 2006 - 04:16:01 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.