We have already seen three solutions. I don't like to see the use of c() for its side effects. In this case Marc's as.vector seems to me to be self-explanatory, and that is a virtue in programming that is too often undervalued.
On Wed, 28 Mar 2007, Marc Schwartz wrote: > On Wed, 2007-03-28 at 10:27 -0700, A Ezhil wrote: >> Hi, >> >> I have a matrix HR(9x27). I would like to make a >> single vector with elements: t(HR[,1]) followed by >> t(HR[,2]) and then t(HR[,3] ... etc. Is there any neat >> way of converting this matrix into a vector rather >> doing something like c(t(HR[,1]), t(HR[,2]), t(HR[,3]) >> ..)? > > Keep in mind that a matrix is simply a vector, with a 'dim' attribute. > In addition, the matrix elements are stored in column order, so: > > mat <- matrix(1:(9 * 27), ncol = 27) > > >> mat > [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] > [1,] 1 10 19 28 37 46 55 64 73 82 91 100 > [2,] 2 11 20 29 38 47 56 65 74 83 92 101 > [3,] 3 12 21 30 39 48 57 66 75 84 93 102 > [4,] 4 13 22 31 40 49 58 67 76 85 94 103 > [5,] 5 14 23 32 41 50 59 68 77 86 95 104 > [6,] 6 15 24 33 42 51 60 69 78 87 96 105 > [7,] 7 16 25 34 43 52 61 70 79 88 97 106 > [8,] 8 17 26 35 44 53 62 71 80 89 98 107 > [9,] 9 18 27 36 45 54 63 72 81 90 99 108 > [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] > [1,] 109 118 127 136 145 154 163 172 181 190 199 > [2,] 110 119 128 137 146 155 164 173 182 191 200 > [3,] 111 120 129 138 147 156 165 174 183 192 201 > [4,] 112 121 130 139 148 157 166 175 184 193 202 > [5,] 113 122 131 140 149 158 167 176 185 194 203 > [6,] 114 123 132 141 150 159 168 177 186 195 204 > [7,] 115 124 133 142 151 160 169 178 187 196 205 > [8,] 116 125 134 143 152 161 170 179 188 197 206 > [9,] 117 126 135 144 153 162 171 180 189 198 207 > [,24] [,25] [,26] [,27] > [1,] 208 217 226 235 > [2,] 209 218 227 236 > [3,] 210 219 228 237 > [4,] 211 220 229 238 > [5,] 212 221 230 239 > [6,] 213 222 231 240 > [7,] 214 223 232 241 > [8,] 215 224 233 242 > [9,] 216 225 234 243 > > >> as.vector(mat) > [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 > [17] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 > [33] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 > [49] 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 > [65] 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 > [81] 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 > [97] 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 > [113] 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 > [129] 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 > [145] 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 > [161] 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 > [177] 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 > [193] 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 > [209] 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 > [225] 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 > [241] 241 242 243 > > > HTH, > > Marc Schwartz > > ______________________________________________ > 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. > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ 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.