Examples for 'Matrix::sparseQR-class'


Sparse QR decomposition of a sparse matrix

Aliases: sparseQR-class qr.Q qr.Q,sparseQR-method qr.R,sparseQR-method qr.coef,sparseQR,Matrix-method qr.coef,sparseQR,ddenseMatrix-method qr.coef,sparseQR,matrix-method qr.coef,sparseQR,numeric-method qr.fitted,sparseQR,Matrix-method qr.fitted,sparseQR,ddenseMatrix-method qr.fitted,sparseQR,matrix-method qr.fitted,sparseQR,numeric-method qr.qty,sparseQR,Matrix-method qr.qty,sparseQR,ddenseMatrix-method qr.qty,sparseQR,matrix-method qr.qty,sparseQR,numeric-method qr.qy,sparseQR,Matrix-method qr.qy,sparseQR,ddenseMatrix-method qr.qy,sparseQR,matrix-method qr.qy,sparseQR,numeric-method qr.resid,sparseQR,Matrix-method qr.resid,sparseQR,ddenseMatrix-method qr.resid,sparseQR,matrix-method qr.resid,sparseQR,numeric-method

Keywords: classes algebra array

### ** Examples

data(KNex)
mm <- KNex $ mm
 y <- KNex $  y
 y. <- as(y, "CsparseMatrix")
str(qrm <- qr(mm))
Formal class 'sparseQR' [package "Matrix"] with 6 slots
  ..@ beta: num [1:712] 1.547 1.462 0.636 1.139 1.553 ...
  ..@ V   :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. ..@ i       : int [1:54732] 0 981 982 983 984 985 986 987 1 2 ...
  .. .. ..@ p       : int [1:713] 0 8 18 27 39 50 54 57 73 88 ...
  .. .. ..@ Dim     : int [1:2] 1850 712
  .. .. ..@ Dimnames:List of 2
  .. .. .. ..$ : NULL
  .. .. .. ..$ : NULL
  .. .. ..@ x       : num [1:54732] -0.646 0.354 0.354 0.354 0.354 ...
  .. .. ..@ factors : list()
  ..@ R   :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. ..@ i       : int [1:7337] 0 1 1 2 1 2 3 1 2 3 ...
  .. .. ..@ p       : int [1:713] 0 1 2 4 7 11 12 14 19 25 ...
  .. .. ..@ Dim     : int [1:2] 1850 712
  .. .. ..@ Dimnames:List of 2
  .. .. .. ..$ : NULL
  .. .. .. ..$ : NULL
  .. .. ..@ x       : num [1:7337] 1.00 1.00 1.90e-11 1.00 3.59e-01 ...
  .. .. ..@ factors : list()
  ..@ p   : int [1:1850] 817 474 475 476 477 488 490 478 479 480 ...
  ..@ q   : int [1:712] 405 335 491 122 631 125 633 123 632 121 ...
  ..@ Dim : int [1:2] 1850 712
 qc  <- qr.coef  (qrm, y); qc. <- qr.coef  (qrm, y.) # 2nd failed in Matrix <= 1.1-0
 qf  <- qr.fitted(qrm, y); qf. <- qr.fitted(qrm, y.)
 qs  <- qr.resid (qrm, y); qs. <- qr.resid (qrm, y.)
stopifnot(all.equal(qc, as.numeric(qc.),  tolerance=1e-12),
          all.equal(qf, as.numeric(qf.),  tolerance=1e-12),
          all.equal(qs, as.numeric(qs.),  tolerance=1e-12),
          all.equal(qf+qs, y, tolerance=1e-12))

[Package Matrix version 1.5-3 Index]