2013-07-11 33 views
0

我有這些矩陣
答:減去不平等的矩陣,如表R輸出

  A  B  C  D  E  F  G 
Obs.1  22 140  0  9  7  0  2 
Obs.2 453 53 11 124 356 57 13 
Obs.3 406 114 15 145 158 44  2 
Obs.4 553 128 137 233 1010 194  7 
Obs.5  82 29 15 42 42 23  5 
Obs.6 110 88 14 28 88  8  2 

和B:

 A  B  C  D  E  F  G 
01 186 152 47 173 117 66 13 
02 191 197 41 112 123 53  8 
03 274 371 28 91 94 39 10 
04 320 431 14 93 109 42  9 
05 100 250  3 21 25  6  6 
06 208 160  3 60 128 19  8 
07 291 130 14 96 175 43  8 
08 385 135 61 164 436 106  6 
09 109 54 20 47 114 31  6 
10 101 115 11 30 62 15  9 
11 103 123  4 15 17  5 13 
12 146 105 23 75 48 30  9 

我想獲得A和B之間的差異爲每觀察,即獲得像這樣的矩陣A到G的列表:

$A 
     01 02 03 04 05 06 07 08 09 10 11 12 
Obs.1 -164 -169 -252 -298 -78 -186 -269 -363 -87 -79 -81 -124 
Obs.2 267 262 179 133 353 245 162 68 344 352 350 307 
Obs.3 220 215 132 86 306 198 115 21 297 305 303 260 
etc. 

我想我是應該使用其中一個應用函數,但是我沒有以正確的方式獲取數據結構。任何幫助是極大的讚賞。

回答

4

ABdata.frame類:

L <- lapply(LETTERS[1:7], function(x) outer(A[[x]],B[[x]], '-')) 
names(L) <- LETTERS[1:7] 
L 
## $A 
##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] 
## [1,] -164 -169 -252 -298 -78 -186 -269 -363 -87 -79 -81 -124 
## [2,] 267 262 179 133 353 245 162 68 344 352 350 307 

....

##  $G 
##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] 
## [1,] -11 -6 -8 -7 -4 -6 -6 -4 -4 -7 -11 -7 
## [2,] 0 5 3 4 7 5 5 7 7  4  0  4 
## [3,] -11 -6 -8 -7 -4 -6 -6 -4 -4 -7 -11 -7 
## [4,] -6 -1 -3 -2 1 -1 -1 1 1 -2 -6 -2 
## [5,] -8 -3 -5 -4 -1 -3 -3 -1 -1 -4 -8 -4 
## [6,] -11 -6 -8 -7 -4 -6 -6 -4 -4 -7 -11 -7