1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
   | > tmp <- matrix(abs(rnorm(16)), ncol=4) * 0.04
> 
> tmp
            [,1]        [,2]        [,3]        [,4]
[1,] 0.019338784 0.002881907 0.032011557 0.003149141
[2,] 0.044648931 0.027992813 0.049937299 0.025164931
[3,] 0.003797397 0.048093925 0.060285873 0.049143094
[4,] 0.038325938 0.009198378 0.008501078 0.036304599
> 
> colnames(tmp) <- as.character(seq(from=1, by=0.5, length=4))
> row.names(tmp) <- as.character(seq(from=40, by=0.5, length=4))
> 
> tmp2 <- as.data.frame(tmp > 0.035 & tmp < 0.045)
> 
> tmp2
         1   1.5     2   2.5
40   FALSE FALSE FALSE FALSE
40.5  TRUE FALSE FALSE FALSE
41   FALSE FALSE FALSE FALSE
41.5  TRUE FALSE FALSE  TRUE
> 
> reshape(tmp2,
+         ids=as.numeric(row.names(tmp2)), idvar="y",
+         times=as.numeric(colnames(tmp2)), timevar="x",
+         varying=list(colnames(tmp2)), v.names="result",
+         direction="long")
           x result    y
40.1     1.0  FALSE 40.0
40.5.1   1.0   TRUE 40.5
41.1     1.0  FALSE 41.0
41.5.1   1.0   TRUE 41.5
40.1.5   1.5  FALSE 40.0
40.5.1.5 1.5  FALSE 40.5
41.1.5   1.5  FALSE 41.0
41.5.1.5 1.5  FALSE 41.5
40.2     2.0  FALSE 40.0
40.5.2   2.0  FALSE 40.5
41.2     2.0  FALSE 41.0
41.5.2   2.0  FALSE 41.5
40.2.5   2.5  FALSE 40.0
40.5.2.5 2.5  FALSE 40.5
41.2.5   2.5  FALSE 41.0
41.5.2.5 2.5   TRUE 41.5 | 
Partager