[R] matrix multiplication
arun
smartpink111 at yahoo.com
Wed Feb 27 15:41:08 CET 2013
Hi,
Just to add:
res<-do.call(cbind,lapply(seq_len(nrow(mat1)),function(i) {new1<-do.call(rbind,lapply(seq_len(nrow(mat1[-i,])),function(j) {x1<-rbind(mat1[i,],mat1[j,]); x2<-(abs(x1[1,1]-x1[2,1])*abs(x1[1,5]-x1[2,5]))+(abs(x1[1,2]-x1[2,2])*abs(x1[1,6]-x1[2,6]))+(abs(x1[1,3]-x1[2,3])*abs(x1[1,7]-x1[2,7]))+(abs(x1[1,4]-x1[2,4])*abs(x1[1,8]-x1[2,8]))}));new1}))
res3<-rbind(res,c(res[,124],0))
#If I do this on a smaller dataset:
mat2<-head(mat1)
mat2
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,] 428 401 63 436 132 400 403 164
#[2,] 359 476 424 469 343 78 296 91
#[3,] 353 262 496 186 447 273 268 351
#[4,] 498 159 126 472 457 411 489 443
#[5,] 169 195 334 297 428 401 63 436
#[6,] 46 102 183 50 359 476 424 469
res2<-do.call(cbind,lapply(seq_len(nrow(mat2)),function(i) {new1<-do.call(rbind,lapply(seq_len(nrow(mat2[-i,])),function(j) {x1<-rbind(mat2[i,],mat2[j,]); x2<-(abs(x1[1,1]-x1[2,1])*abs(x1[1,5]-x1[2,5]))+(abs(x1[1,2]-x1[2,2])*abs(x1[1,6]-x1[2,6]))+(abs(x1[1,3]-x1[2,3])*abs(x1[1,7]-x1[2,7]))+(abs(x1[1,4]-x1[2,4])*abs(x1[1,8]-x1[2,8]))}));new1}))
resTrial<-rbind(res2,c(res2[,6],0))
resTrial
# [,1] [,2] [,3] [,4] [,5] [,6]
#[1,] 0 79745 146483 40874 206818 229688
#[2,] 79745 0 117950 179977 187223 343090
#[3,] 146483 117950 0 123746 54717 124372
#[4,] 40874 179977 123746 0 99734 62678
#[5,] 206818 187223 54717 99734 0 78124
#[6,] 229688 343090 124372 62678 78124 0
A.K.
________________________________
From: eliza botto <eliza_botto at hotmail.com>
To: "smartpink111 at yahoo.com" <smartpink111 at yahoo.com>
Sent: Wednesday, February 27, 2013 8:47 AM
Subject: RE: matrix multiplication
there you go
>dput(eliza)
structure(c(428L, 359L, 353L, 498L, 169L, 46L, 29L, 444L, 194L,
439L, 284L, 79L, 226L, 105L, 106L, 326L, 234L, 196L, 417L, 190L,
480L, 275L, 478L, 341L, 197L, 395L, 85L, 295L, 70L, 18L, 471L,
218L, 19L, 43L, 280L, 427L, 229L, 5L, 205L, 494L, 393L, 307L,
465L, 383L, 265L, 103L, 348L, 166L, 58L, 320L, 14L, 107L, 440L,
24L, 347L, 419L, 135L, 202L, 294L, 173L, 121L, 358L, 51L, 231L,
118L, 109L, 182L, 219L, 42L, 73L, 435L, 389L, 431L, 81L, 149L,
388L, 415L, 256L, 312L, 446L, 45L, 162L, 485L, 154L, 55L, 153L,
137L, 290L, 93L, 40L, 110L, 167L, 315L, 266L, 317L, 314L, 264L,
277L, 488L, 28L, 354L, 303L, 490L, 192L, 432L, 228L, 222L, 418L,
323L, 244L, 239L, 193L, 120L, 116L, 148L, 57L, 246L, 300L, 143L,
208L, 400L, 78L, 273L, 411L, 401L, 476L, 262L, 159L, 195L, 102L,
75L, 136L, 402L, 32L, 199L, 286L, 477L, 54L, 429L, 80L, 316L,
30L, 333L, 387L, 452L, 324L, 456L, 39L, 138L, 113L, 448L, 377L,
122L, 441L, 396L, 454L, 497L, 161L, 21L, 117L, 413L, 94L, 459L,
156L, 365L, 322L, 397L, 88L, 207L, 150L, 209L, 184L, 378L, 217L,
176L, 52L, 374L, 189L, 97L, 340L, 357L, 157L, 220L, 74L, 356L,
495L, 453L, 26L, 499L, 364L, 267L, 331L, 245L, 258L, 242L, 381L,
36L, 16L, 328L, 131L, 255L, 363L, 298L, 373L, 416L, 200L, 56L,
263L, 288L, 13L, 305L, 291L, 17L, 53L, 130L, 458L, 385L, 198L,
158L, 140L, 492L, 249L, 27L, 134L, 479L, 171L, 177L, 9L, 355L,
398L, 380L, 404L, 304L, 129L, 338L, 281L, 65L, 386L, 144L, 252L,
77L, 352L, 20L, 96L, 403L, 296L, 268L, 489L, 63L, 424L, 496L,
126L, 334L, 183L, 232L, 406L, 407L, 163L, 346L, 287L, 475L, 127L,
321L, 124L, 237L, 308L, 376L, 212L, 423L, 211L, 329L, 437L, 179L,
253L, 372L, 101L, 251L, 90L, 433L, 311L, 241L, 327L, 422L, 349L,
493L, 442L, 38L, 449L, 410L, 370L, 421L, 325L, 451L, 240L, 71L,
392L, 2L, 151L, 332L, 83L, 350L, 87L, 361L, 330L, 279L, 362L,
310L, 487L, 278L, 367L, 248L, 462L, 59L, 213L, 68L, 112L, 60L,
481L, 165L, 235L, 22L, 434L, 272L, 460L, 309L, 301L, 500L, 282L,
82L, 100L, 261L, 34L, 188L, 133L, 344L, 7L, 486L, 67L, 399L,
254L, 41L, 483L, 64L, 405L, 108L, 236L, 384L, 467L, 49L, 283L,
119L, 463L, 147L, 379L, 216L, 474L, 204L, 48L, 260L, 12L, 337L,
187L, 271L, 31L, 289L, 172L, 35L, 408L, 164L, 91L, 351L, 443L,
436L, 469L, 186L, 472L, 297L, 50L, 425L, 224L, 3L, 221L, 11L,
391L, 33L, 243L, 247L, 152L, 98L, 482L, 111L, 257L, 155L, 47L,
10L, 468L, 270L, 313L, 86L, 293L, 160L, 168L, 409L, 170L, 84L,
180L, 76L, 99L, 214L, 15L, 414L, 394L, 450L, 4L, 61L, 339L, 342L,
1L, 470L, 210L, 37L, 345L, 115L, 141L, 302L, 178L, 445L, 6L,
466L, 285L, 174L, 201L, 114L, 369L, 390L, 69L, 420L, 464L, 269L,
455L, 382L, 25L, 123L, 95L, 230L, 72L, 250L, 473L, 8L, 274L,
238L, 62L, 461L, 104L, 125L, 128L, 227L, 292L, 430L, 206L, 360L,
491L, 191L, 142L, 181L, 318L, 484L, 145L, 89L, 233L, 368L, 412L,
335L, 215L, 146L, 139L, 426L, 375L, 66L, 299L, 438L, 223L, 175L,
92L, 225L, 276L, 185L, 336L, 371L, 306L, 366L, 319L, 203L, 44L,
259L, 23L, 132L, 343L, 447L, 457L, 428L, 359L, 353L, 498L, 169L,
46L, 29L, 444L, 194L, 439L, 284L, 79L, 226L, 105L, 106L, 326L,
234L, 196L, 417L, 190L, 480L, 275L, 478L, 341L, 197L, 395L, 85L,
295L, 70L, 18L, 471L, 218L, 19L, 43L, 280L, 427L, 229L, 5L, 205L,
494L, 393L, 307L, 465L, 383L, 265L, 103L, 348L, 166L, 58L, 320L,
14L, 107L, 440L, 24L, 347L, 419L, 135L, 202L, 294L, 173L, 121L,
358L, 51L, 231L, 118L, 109L, 182L, 219L, 42L, 73L, 435L, 389L,
431L, 81L, 149L, 388L, 415L, 256L, 312L, 446L, 45L, 162L, 485L,
154L, 55L, 153L, 137L, 290L, 93L, 40L, 110L, 167L, 315L, 266L,
317L, 314L, 264L, 277L, 488L, 28L, 354L, 303L, 490L, 192L, 432L,
228L, 222L, 418L, 323L, 244L, 239L, 193L, 120L, 116L, 148L, 57L,
246L, 300L, 143L, 208L, 400L, 78L, 273L, 411L, 401L, 476L, 262L,
159L, 195L, 102L, 75L, 136L, 402L, 32L, 199L, 286L, 477L, 54L,
429L, 80L, 316L, 30L, 333L, 387L, 452L, 324L, 456L, 39L, 138L,
113L, 448L, 377L, 122L, 441L, 396L, 454L, 497L, 161L, 21L, 117L,
413L, 94L, 459L, 156L, 365L, 322L, 397L, 88L, 207L, 150L, 209L,
184L, 378L, 217L, 176L, 52L, 374L, 189L, 97L, 340L, 357L, 157L,
220L, 74L, 356L, 495L, 453L, 26L, 499L, 364L, 267L, 331L, 245L,
258L, 242L, 381L, 36L, 16L, 328L, 131L, 255L, 363L, 298L, 373L,
416L, 200L, 56L, 263L, 288L, 13L, 305L, 291L, 17L, 53L, 130L,
458L, 385L, 198L, 158L, 140L, 492L, 249L, 27L, 134L, 479L, 171L,
177L, 9L, 355L, 398L, 380L, 404L, 304L, 129L, 338L, 281L, 65L,
386L, 144L, 252L, 77L, 352L, 20L, 96L, 403L, 296L, 268L, 489L,
63L, 424L, 496L, 126L, 334L, 183L, 232L, 406L, 407L, 163L, 346L,
287L, 475L, 127L, 321L, 124L, 237L, 308L, 376L, 212L, 423L, 211L,
329L, 437L, 179L, 253L, 372L, 101L, 251L, 90L, 433L, 311L, 241L,
327L, 422L, 349L, 493L, 442L, 38L, 449L, 410L, 370L, 421L, 325L,
451L, 240L, 71L, 392L, 2L, 151L, 332L, 83L, 350L, 87L, 361L,
330L, 279L, 362L, 310L, 487L, 278L, 367L, 248L, 462L, 59L, 213L,
68L, 112L, 60L, 481L, 165L, 235L, 22L, 434L, 272L, 460L, 309L,
301L, 500L, 282L, 82L, 100L, 261L, 34L, 188L, 133L, 344L, 7L,
486L, 67L, 399L, 254L, 41L, 483L, 64L, 405L, 108L, 236L, 384L,
467L, 49L, 283L, 119L, 463L, 147L, 379L, 216L, 474L, 204L, 48L,
260L, 12L, 337L, 187L, 271L, 31L, 289L, 172L, 35L, 408L, 164L,
91L, 351L, 443L, 436L, 469L, 186L, 472L, 297L, 50L, 425L, 224L,
3L, 221L, 11L, 391L, 33L, 243L, 247L, 152L, 98L, 482L, 111L,
257L, 155L, 47L, 10L, 468L, 270L, 313L, 86L, 293L, 160L, 168L,
409L, 170L, 84L, 180L, 76L, 99L, 214L, 15L, 414L, 394L, 450L,
4L, 61L, 339L, 342L, 1L, 470L, 210L, 37L, 345L, 115L, 141L, 302L,
178L, 445L, 6L, 466L, 285L, 174L, 201L, 114L, 369L, 390L, 69L,
420L, 464L, 269L, 455L, 382L, 25L, 123L, 95L, 230L, 72L, 250L,
473L, 8L, 274L, 238L, 62L, 461L, 104L, 125L, 128L, 227L, 292L,
430L, 206L, 360L, 491L, 191L, 142L, 181L, 318L, 484L, 145L, 89L,
233L, 368L, 412L, 335L, 215L, 146L, 139L, 426L, 375L, 66L, 299L,
438L, 223L, 175L, 92L, 225L, 276L, 185L, 336L, 371L, 306L, 366L,
319L), .Dim = c(124L, 8L))
Eliza
--
> Date: Wed, 27 Feb 2013 05:44:55 -0800
> From: smartpink111 at yahoo.com
> Subject: Re: matrix multiplication
> To: eliza_botto at hotmail.com
>
> Hi Elisa,
>
> Could you just dput that dataset?
> Arun
>
>
>
>
>
>
> ________________________________
> From: eliza botto <eliza_botto at hotmail.com>
> To: "smartpink111 at yahoo.com" <smartpink111 at yahoo.com>
> Sent: Wednesday, February 27, 2013 8:38 AM
> Subject: matrix multiplication
>
>
>
> Dear Arun,
> I want to make a distance matrix of the following matrixá
>
>
> á á á á á[,1] [,2] á[,3] [,4] á[,5] á[,6] [,7] á[,8]
> á [1,] á á7 á495 á106 á178 á 39 á390 á429 á14
> á [2,] á127 á457 á 95 á193 á274 á379 á468 á 40
> á [3,] á470 á 30 á á1 á362 á499 á478 á425 á357
> á [4,] á288 á111 á463 á287 á 85 á387 á389 á 15
> á [5,] á416 á225 á360 á317 á á7 á495 á106 á178
> á [6,] á297 á438 á253 á146 á127 á457 á 95 á193
> á [7,] á323 á 42 á234 á 97 á470 á 30 á á1 á362
> á [8,] á130 á352 á181 á168 á288 á111 á463 á287
> á [9,] á 53 á218 á266 á133 á416 á225 á360 á317
> á[10,] á232 á469 á396 á á5 á297 á438 á253 á146
> á[11,] á161 á 25 á445 á 76 á323 á 42 á234 á 97
> á[12,] á169 á284 á 99 á399 á130 á352 á181 á168
> á[13,] á 60 á 59 á135 á á9 á 53 á218 á266 á133
> á[14,] á415 á 16 á 36 á213 á232 á469 á396 á á5
> á[15,] á 22 á249 á 82 á334 á161 á 25 á445 á 76
> á[16,] á455 á395 á 41 á192 á169 á284 á 99 á399
> á[17,] á431 á400 á302 á461 á 60 á 59 á135 á á9
> á[18,] á139 á175 á 28 á283 á415 á 16 á 36 á213
> á[19,] á316 á327 á486 á180 á 22 á249 á 82 á334
> á[20,] á 77 á339 á410 á173 á455 á395 á 41 á192
> á[21,] á260 á293 á100 á147 á431 á400 á302 á461
> á[22,] á418 á109 á476 á 87 á139 á175 á 28 á283
> á[23,] á254 á426 á443 á 98 á316 á327 á486 á180
> á[24,] á377 á149 á314 á198 á 77 á339 á410 á173
> á[25,] á318 á485 á203 á394 á260 á293 á100 á147
> á[26,] á313 á 51 á289 á296 á418 á109 á476 á 87
> á[27,] á371 á247 á348 á 80 á254 á426 á443 á 98
> á[28,] á256 á 96 á132 á208 á377 á149 á314 á198
> á[29,] á204 á330 á226 á430 á318 á485 á203 á394
> á[30,] á300 á164 á325 á148 á313 á 51 á289 á296
> á[31,] á105 á153 á241 á454 á371 á247 á348 á 80
> á[32,] á107 á267 á294 á424 á256 á 96 á132 á208
> á[33,] á 34 á 63 á282 á156 á204 á330 á226 á430
> á[34,] á 73 á321 á482 á483 á300 á164 á325 á148
> á[35,] á401 á272 á 44 á137 á105 á153 á241 á454
> á[36,] á484 á310 á141 á221 á107 á267 á294 á424
> á[37,] á 33 á258 á382 á 72 á 34 á 63 á282 á156
> á[38,] á176 á167 á388 á 78 á 73 á321 á482 á483
> á[39,] á 70 á177 á350 á271 á401 á272 á 44 á137
> á[40,] á479 á201 á345 á 19 á484 á310 á141 á221
> á[41,] á á4 á423 á343 á437 á 33 á258 á382 á 72
> á[42,] á187 á493 á337 á233 á176 á167 á388 á 78
> á[43,] á473 á481 á406 á422 á 70 á177 á350 á271
> á[44,] á413 á368 á500 á448 á479 á201 á345 á 19
> á[45,] á419 á138 á252 á378 á á4 á423 á343 á437
> á[46,] á227 á á3 á471 á235 á187 á493 á337 á233
> á[47,] á374 á311 á136 á110 á473 á481 á406 á422
> á[48,] á381 á 46 á 89 á480 á413 á368 á500 á448
> á[49,] á336 á402 á268 á144 á419 á138 á252 á378
> á[50,] á290 á199 á491 á414 á227 á á3 á471 á235
> á[51,] á 48 á351 á 81 á155 á374 á311 á136 á110
> á[52,] á251 á189 á280 á326 á381 á 46 á 89 á480
> á[53,] á117 á102 á179 á185 á336 á402 á268 á144
> á[54,] á465 á160 á475 á496 á290 á199 á491 á414
> á[55,] á122 á142 á188 á384 á 48 á351 á 81 á155
> á[56,] á279 á223 á407 á222 á251 á189 á280 á326
> á[57,] á134 á112 á435 á 21 á117 á102 á179 á185
> á[58,] á219 á 54 á207 á281 á465 á160 á475 á496
> á[59,] á404 á492 á157 á125 á122 á142 á188 á384
> á[60,] á285 á 68 á441 á 57 á279 á223 á407 á222
> á[61,] á151 á244 á131 á108 á134 á112 á435 á 21
> á[62,] á261 á220 á216 á 45 á219 á 54 á207 á281
> á[63,] á145 á 29 á488 á184 á404 á492 á157 á125
> á[64,] á 58 á129 á 65 á276 á285 á 68 á441 á 57
> á[65,] á434 á444 á456 á123 á151 á244 á131 á108
> á[66,] á275 á217 á154 á171 á261 á220 á216 á 45
> á[67,] á 13 á299 á428 á346 á145 á 29 á488 á184
> á[68,] á165 á451 á 86 á 50 á 58 á129 á 65 á276
> á[69,] á237 á319 á442 á427 á434 á444 á456 á123
> á[70,] á242 á191 á453 á230 á275 á217 á154 á171
> á[71,] á159 á197 á344 á432 á 13 á299 á428 á346
> á[72,] á206 á115 á375 á329 á165 á451 á 86 á 50
> á[73,] á114 á259 á209 á295 á237 á319 á442 á427
> á[74,] á248 á380 á172 á 12 á242 á191 á453 á230
> á[75,] á408 á472 á273 á477 á159 á197 á344 á432
> á[76,] á367 á162 á190 á240 á206 á115 á375 á329
> á[77,] á307 á 66 á450 á250 á114 á259 á209 á295
> á[78,] á331 á 31 á163 á166 á248 á380 á172 á 12
> á[79,] á376 á464 á 75 á 93 á408 á472 á273 á477
> á[80,] á194 á366 á 35 á359 á367 á162 á190 á240
> á[81,] á210 á á8 á 20 á364 á307 á 66 á450 á250
> á[82,] á436 á391 á320 á354 á331 á 31 á163 á166
> á[83,] á324 á 90 á186 á239 á376 á464 á 75 á 93
> á[84,] á212 á196 á128 á 47 á194 á366 á 35 á359
> á[85,] á 32 á298 á292 á202 á210 á á8 á 20 á364
> á[86,] á 43 á182 á245 á466 á436 á391 á320 á354
> á[87,] á278 á 37 á265 á412 á324 á 90 á186 á239
> á[88,] á101 á 88 á 79 á205 á212 á196 á128 á 47
> á[89,] á308 á439 á 62 á312 á 32 á298 á292 á202
> á[90,] á á6 á 10 á 94 á301 á 43 á182 á245 á466
> á[91,] á361 á347 á392 á 71 á278 á 37 á265 á412
> á[92,] á497 á467 á 11 á386 á101 á 88 á 79 á205
> á[93,] á270 á309 á116 á452 á308 á439 á 62 á312
> á[94,] á152 á341 á 24 á315 á á6 á 10 á 94 á301
> á[95,] á421 á229 á458 á291 á361 á347 á392 á 71
> á[96,] á 92 á269 á356 á393 á497 á467 á 11 á386
> á[97,] á 18 á277 á 84 á487 á270 á309 á116 á452
> á[98,] á349 á370 á397 á494 á152 á341 á 24 á315
> á[99,] á 27 á446 á103 á417 á421 á229 á458 á291
> [100,] á 69 á383 á409 á246 á 92 á269 á356 á393
> [101,] á á2 á328 á385 á353 á 18 á277 á 84 á487
> [102,] á474 á255 á403 á 52 á349 á370 á397 á494
> [103,] á 38 á140 á 61 á257 á 27 á446 á103 á417
> [104,] á263 á373 á332 á215 á 69 á383 á409 á246
> [105,] á 91 á 17 á333 á143 á á2 á328 á385 á353
> [106,] á460 á358 á224 á 23 á474 á255 á403 á 52
> [107,] á398 á433 á369 á121 á 38 á140 á 61 á257
> [108,] á303 á120 á365 á113 á263 á373 á332 á215
> [109,] á411 á231 á286 á174 á 91 á 17 á333 á143
> [110,] á158 á200 á449 á211 á460 á358 á224 á 23
> [111,] á306 á 56 á 74 á338 á398 á433 á369 á121
> [112,] á498 á150 á236 á440 á303 á120 á365 á113
> [113,] á104 á243 á170 á304 á411 á231 á286 á174
> [114,] á183 á489 á 49 á 55 á158 á200 á449 á211
> [115,] á195 á355 á363 á322 á306 á 56 á 74 á338
> [116,] á 64 á335 á228 á342 á498 á150 á236 á440
> [117,] á305 á214 á262 á405 á104 á243 á170 á304
> [118,] á447 á124 á340 á118 á183 á489 á 49 á 55
> [119,] á238 á126 á264 á 67 á195 á355 á363 á322
> [120,] á119 á372 á490 á 26 á 64 á335 á228 á342
> [121,] á390 á429 á 14 á420 á305 á214 á262 á405
> [122,] á379 á468 á 40 á459 á447 á124 á340 á118
> [123,] á478 á425 á357 á 83 á238 á126 á264 á 67
> [124,] á387 á389 á 15 á462 á119 á372 á490 á 26
>
> i want to have a distance matrix generated on the following procedure
>
> >Subtraction should take place row-wise
>
>
>
> Subtraction of second row from first row
> =========================
> ={abs[(1,1)-(2,1)]*abs[(1,5)-(2,5)]}+{abs[(1,2)-(2,2)]*abs[(1,6)-(2,6)]}+{abs[(1,3)-(2,3)]*abs[(1,7)-(2,7)]}+{abs[(1,4)-(2,4)]*abs[(1,8)-(2,8)]}
> where in (1,1) first coordinate figure is row number and second is column number
> so áif we put the values in above line, we should get
> ={abs[(7)-(127)]*abs[(39)-(274)]}+{abs[(495)-(457)]*abs[(390)-(379)]}+{abs[(106)-(95)]*abs[(429)-(468)]}+{abs[(178)-(193)]*abs[(14)-(40)]}
> =29437
> Subtraction of third row from first row
> =========================
> ={abs[(1,1)-(3,1)]*abs[(1,5)-(3,5)]}+{abs[(1,2)-(3,2)]*abs[(1,6)-(3,6)]}+{abs[(1,3)-(3,3)]*abs[(1,7)-(3,7)]}+{abs[(1,4)-(3,4)]*abs[(1,8)-(3,8)]}
>
> when all the rows are subtracted from from 1. then all the rows should be subtracted from row 2 and then from row 3 and so on.... till 124th row. So, what i want to have in the end is a distance matrix with same upper and lower triangle and 0's on diagonal.
>
> Thankyou so very much in advance
>
> ELIZA
More information about the R-help
mailing list