# SCM Repository

[matrix] Diff of /pkg/tests/indexing.R
 [matrix] / pkg / tests / indexing.R

# Diff of /pkg/tests/indexing.R

revision 1330, Fri Jul 21 08:28:18 2006 UTC revision 1331, Sat Jul 22 17:59:53 2006 UTC
# Line 20  Line 20
20  m[,2]     # 2nd column  m[,2]     # 2nd column
21  m[,1:2]   # sub matrix of first two columns  m[,1:2]   # sub matrix of first two columns
22  m[-(1:6),, drop=FALSE] # not the first 6 rows, i.e. only the 7th  m[-(1:6),, drop=FALSE] # not the first 6 rows, i.e. only the 7th
23    m[integer(0),] #-> 0 x 4 Matrix
24    m[2:4, numeric(0)] #-> 3 x 0 Matrix
25
26  ## logical indexing  ## logical indexing
27  stopifnot(identical(m[2,3], m[(1:nrow(m)) == 2, (1:ncol(m)) == 3]),  stopifnot(identical(m[2,3], m[(1:nrow(m)) == 2, (1:ncol(m)) == 3]),
# Line 68  Line 70
70  stopifnot(all.equal(mC[,3],   mm[,3]))  stopifnot(all.equal(mC[,3],   mm[,3]))
71  assert.EQ.mat(mC[7, , drop=FALSE], mm[7, , drop=FALSE])  assert.EQ.mat(mC[7, , drop=FALSE], mm[7, , drop=FALSE])
72
73  stopifnot(identical(mC[7,  drop = FALSE],  stopifnot(dim(mC[numeric(0), ]) == c(0,20), # used to give warnings
74              dim(mC[, integer(0)]) == c(40,0),
75              identical(mC[, integer(0)], mC[, FALSE]),
76              identical(mC[7,  drop = FALSE],
77                      mC[7,, drop = FALSE]))                      mC[7,, drop = FALSE]))
78  validObject(print(mT[,c(2,4)]))  validObject(print(mT[,c(2,4)]))
79  stopifnot(all.equal(mT[2,], mm[2,]),  stopifnot(all.equal(mT[2,], mm[2,]),
# Line 86  Line 91
91            identical3(as(mC[c(3,7), 2:4],"matrix"), mm[c(3,7), 2:4],            identical3(as(mC[c(3,7), 2:4],"matrix"), mm[c(3,7), 2:4],
92                       as(mT[c(3,7), 2:4],"matrix")))                       as(mT[c(3,7), 2:4],"matrix")))
93
94    x.x <- crossprod(mC)
95    stopifnot(class(x.x) == "dsCMatrix",
96              class(x.x. <- round(x.x / 10000)) == "dsCMatrix")
97    head(x.x.) # Note the *non*-structural 0's printed as "0"
98
99    lx.x <- as(x.x, "lsCMatrix") # FALSE only for "structural" 0
100    if(FALSE) { ## FIXME: needs coercion  "lsCMatrix" to "lgTMatrix"
101        lx.x[1:10, 1:10]
102        lx.x[1:3, ]
103    }
104
105  ## --- negative indices ----------  ## --- negative indices ----------
106  mc <- mC[1:5, 1:7]  mc <- mC[1:5, 1:7]
107  mt <- mT[1:5, 1:7]  mt <- mT[1:5, 1:7]
# Line 161  Line 177
177  (m. <- mc)  (m. <- mc)
178  ## FIXME: mc[4,] <- 0 # -> error -- another Bug  ## FIXME: mc[4,] <- 0 # -> error -- another Bug
179
180    H <- Hilbert(9)
181    Hc <- as(round(H, 3), "dsCMatrix")
182    tril(Hc[1:5, 1:5])
183
184    H[c(1:2, 4, 6:7), c(2:4,6)] <- 0
185    (H. <- round(as(H, "sparseMatrix"), 3)[ , 2:7])
186    Hc. <- Hc
187    Hc.[c(1:2, 4, 6:7), c(2:4,6)] <- 0
188    Hc.[, 1:6]
189
190  cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons''  cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons''

Legend:
 Removed from v.1330 changed lines Added in v.1331