SCM

SCM Repository

[matrix] Annotation of /pkg/tests/bind.Rout.save
ViewVC logotype

Annotation of /pkg/tests/bind.Rout.save

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1331 - (view) (download)

1 : maechler 1315
2 :     R : Copyright 2006, The R Foundation for Statistical Computing
3 : maechler 1331 Version 2.3.1 Patched (2006-07-13 r38676)
4 : maechler 1315 ISBN 3-900051-07-0
5 :    
6 :     R is free software and comes with ABSOLUTELY NO WARRANTY.
7 :     You are welcome to redistribute it under certain conditions.
8 :     Type 'license()' or 'licence()' for distribution details.
9 :    
10 :     R is a collaborative project with many contributors.
11 :     Type 'contributors()' for more information and
12 :     'citation()' on how to cite R or R packages in publications.
13 :    
14 :     Type 'demo()' for some demos, 'help()' for on-line help, or
15 :     'help.start()' for an HTML browser interface to help.
16 :     Type 'q()' to quit R.
17 :    
18 :     > #### Testing cbind() & rbind()
19 :     >
20 :     > library(Matrix)
21 :     Loading required package: lattice
22 :     >
23 :     > source(system.file("test-tools.R", package = "Matrix"))# identical3() etc
24 :     >
25 :     > ### --- Dense Matrices ---
26 :     >
27 :     > m1 <- m2 <- m <- Matrix(1:12, 3,4)
28 :     Warning message:
29 :     integer matrices not yet implemented in 'Matrix'; using 'double' ones' in: Matrix(1:12, 3, 4)
30 :     > dimnames(m2) <- list(LETTERS[1:3],
31 :     + letters[1:4])
32 :     > dimnames(m1) <- list(NULL,letters[1:4])
33 :     >
34 :     > stopifnot(identical(cbind ( m, 10*m) -> R,
35 :     + cbind2( m, 10*m))); R
36 :     3 x 8 Matrix of class "dgeMatrix"
37 :     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
38 :     [1,] 1 4 7 10 10 40 70 100
39 :     [2,] 2 5 8 11 20 50 80 110
40 :     [3,] 3 6 9 12 30 60 90 120
41 :     > stopifnot(identical(cbind (m1,100+m1) -> R,
42 :     + cbind2(m1,100+m1))); R
43 :     3 x 8 Matrix of class "dgeMatrix"
44 :     a b c d a b c d
45 :     [1,] 1 4 7 10 101 104 107 110
46 :     [2,] 2 5 8 11 102 105 108 111
47 :     [3,] 3 6 9 12 103 106 109 112
48 :     > stopifnot(identical(cbind (m1, 10*m2) -> R,
49 :     + cbind2(m1, 10*m2))); R
50 :     3 x 8 Matrix of class "dgeMatrix"
51 :     a b c d a b c d
52 :     A 1 4 7 10 10 40 70 100
53 :     B 2 5 8 11 20 50 80 110
54 :     C 3 6 9 12 30 60 90 120
55 :     > stopifnot(identical(cbind (m2, m1+m2) -> R,
56 :     + cbind2(m2, m1+m2))); R
57 :     3 x 8 Matrix of class "dgeMatrix"
58 :     a b c d a b c d
59 :     A 1 4 7 10 2 8 14 20
60 :     B 2 5 8 11 4 10 16 22
61 :     C 3 6 9 12 6 12 18 24
62 :     >
63 :     > cbind(m2, 10*m2[nrow(m2):1 ,])# keeps the rownames from the first
64 :     3 x 8 Matrix of class "dgeMatrix"
65 :     a b c d a b c d
66 :     A 1 4 7 10 30 60 90 120
67 :     B 2 5 8 11 20 50 80 110
68 :     C 3 6 9 12 10 40 70 100
69 :     >
70 :     > (im <- cbind(I = 100, m))
71 :     3 x 5 Matrix of class "dgeMatrix"
72 :     I
73 :     [1,] 100 1 4 7 10
74 :     [2,] 100 2 5 8 11
75 :     [3,] 100 3 6 9 12
76 :     > str(im)
77 :     Formal class 'dgeMatrix' [package "Matrix"] with 4 slots
78 :     ..@ x : num [1:15] 100 100 100 1 2 3 4 5 6 7 ...
79 :     ..@ Dim : int [1:2] 3 5
80 :     ..@ Dimnames:List of 2
81 :     .. ..$ : NULL
82 :     .. ..$ : chr [1:5] "I" "" "" "" ...
83 :     ..@ factors : list()
84 :     > (mi <- cbind(m2, I = 1000))
85 :     3 x 5 Matrix of class "dgeMatrix"
86 :     a b c d I
87 :     A 1 4 7 10 1000
88 :     B 2 5 8 11 1000
89 :     C 3 6 9 12 1000
90 :     > str(mi)
91 :     Formal class 'dgeMatrix' [package "Matrix"] with 4 slots
92 :     ..@ x : num [1:15] 1 2 3 4 5 6 7 8 9 10 ...
93 :     ..@ Dim : int [1:2] 3 5
94 :     ..@ Dimnames:List of 2
95 :     .. ..$ : chr [1:3] "A" "B" "C"
96 :     .. ..$ : chr [1:5] "a" "b" "c" "d" ...
97 :     ..@ factors : list()
98 :     > (m1m <- cbind(m,I=100,m2))
99 :     3 x 9 Matrix of class "dgeMatrix"
100 :     I a b c d
101 :     A 1 4 7 10 100 1 4 7 10
102 :     B 2 5 8 11 100 2 5 8 11
103 :     C 3 6 9 12 100 3 6 9 12
104 :     >
105 :     > ### --- Sparse Matrices ---
106 :     >
107 :     > m <- Matrix(c(0, 0, 2:0), 3, 5)
108 :     > (mC <- as(m, "dgCMatrix"))
109 :     3 x 5 sparse Matrix of class "dgCMatrix"
110 :    
111 :     [1,] . 1 . . 2
112 :     [2,] . . 2 . 1
113 :     [3,] 2 . 1 . .
114 :     > (mT <- as(m, "dgTMatrix"))
115 :     3 x 5 sparse Matrix of class "dgTMatrix"
116 :    
117 :     [1,] . 1 . . 2
118 :     [2,] . . 2 . 1
119 :     [3,] 2 . 1 . .
120 :     > stopifnot(identical(mT, as(mC, "dgTMatrix")))
121 :     > cbind(0, mC)
122 :     3 x 6 sparse Matrix of class "dgCMatrix"
123 :    
124 :     [1,] . . 1 . . 2
125 :     [2,] . . . 2 . 1
126 :     [3,] . 2 . 1 . .
127 :     > cbind(0, mT)
128 :     3 x 6 sparse Matrix of class "dgCMatrix"
129 :    
130 :     [1,] . . 1 . . 2
131 :     [2,] . . . 2 . 1
132 :     [3,] . 2 . 1 . .
133 :     > cbind(diag(3), mT)
134 :     3 x 8 sparse Matrix of class "dgCMatrix"
135 :    
136 :     [1,] 1 . . . 1 . . 2
137 :     [2,] . 1 . . . 2 . 1
138 :     [3,] . . 1 2 . 1 . .
139 :     > (cc <- cbind(mC, 0,7,0, diag(3), 0))
140 :     3 x 12 sparse Matrix of class "dgCMatrix"
141 :    
142 :     [1,] . 1 . . 2 . 7 . 1 . . .
143 :     [2,] . . 2 . 1 . 7 . . 1 . .
144 :     [3,] 2 . 1 . . . 7 . . . 1 .
145 :     > stopifnot(identical3(cc, cbind(mT, 0,7,0, diag(3), 0),
146 :     + as( cbind(m, 0,7,0, diag(3), 0), "dgCMatrix")))
147 :     >
148 :     > cbind(mC, 1, 100*mC, 0, 0:2)
149 :     3 x 13 sparse Matrix of class "dgCMatrix"
150 :    
151 :     [1,] . 1 . . 2 1 . 100 . . 200 . .
152 :     [2,] . . 2 . 1 1 . . 200 . 100 . 1
153 :     [3,] 2 . 1 . . 1 200 . 100 . . . 2
154 :     > cbind(mT, 1, 0, mT+10*mT, 0, 0:2)
155 :     3 x 14 sparse Matrix of class "dgCMatrix"
156 :    
157 :     [1,] . 1 . . 2 1 . . 11 . . 22 . .
158 :     [2,] . . 2 . 1 1 . . . 22 . 11 . 1
159 :     [3,] 2 . 1 . . 1 . 22 . 11 . . . 2
160 :     >
161 :     > ## print() / show() of non-structural zeros:
162 :     > (m <- Matrix(c(0, 0, 2:0), 3, 5))
163 :     3 x 5 sparse Matrix of class "dgCMatrix"
164 :    
165 :     [1,] . 1 . . 2
166 :     [2,] . . 2 . 1
167 :     [3,] 2 . 1 . .
168 :     > (m2 <- cbind(m,m))
169 :     3 x 10 sparse Matrix of class "dgCMatrix"
170 :    
171 :     [1,] . 1 . . 2 . 1 . . 2
172 :     [2,] . . 2 . 1 . . 2 . 1
173 :     [3,] 2 . 1 . . 2 . 1 . .
174 :     > (m4 <- rbind(m2,m2))
175 :     6 x 10 sparse Matrix of class "dgCMatrix"
176 :    
177 :     [1,] . 1 . . 2 . 1 . . 2
178 :     [2,] . . 2 . 1 . . 2 . 1
179 :     [3,] 2 . 1 . . 2 . 1 . .
180 :     [4,] . 1 . . 2 . 1 . . 2
181 :     [5,] . . 2 . 1 . . 2 . 1
182 :     [6,] 2 . 1 . . 2 . 1 . .
183 :     > diag(m4)
184 :     [1] 0 0 1 0 1 2
185 :     > for(i in 1:6) {
186 :     + m4[i, i ] <- i
187 :     + m4[i,i+1] <- 0
188 :     + }
189 :     > m4 ## now show some non-structural zeros:
190 :     6 x 10 sparse Matrix of class "dgCMatrix"
191 :    
192 :     [1,] 1 0 . . 2 . 1 . . 2
193 :     [2,] . 2 0 . 1 . . 2 . 1
194 :     [3,] 2 . 3 . . 2 . 1 . .
195 :     [4,] . 1 . 4 0 . 1 . . 2
196 :     [5,] . . 2 . 5 . . 2 . 1
197 :     [6,] 2 . 1 . . 6 . 1 . .
198 :     >
199 :     >
200 :     > cat('Time elapsed: ', proc.time(),'\n') # for ``statistical reasons''
201 : maechler 1331 Time elapsed: 10.76 0.18 11.43 0 0
202 : maechler 1315 >

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge