[R] Search arrays based on similar values

Petr Savicky savicky at praha1.ff.cuni.cz
Wed Apr 6 08:36:29 CEST 2011


On Tue, Apr 05, 2011 at 05:34:50PM -0500, mjdubya wrote:
> Hey folks,
> I have two arrays: "A" (1X100) with non-ordered values ranging 1-14  
>                           "B" (2X14)  containing 14 decimal values.  
> I would like to create a new array (1X100) that contains only the decimal
> values from array B by associating the integers from A and B.  In other
> words, for each value of A find the same integer value of B, select the
> associated decimal value of B.  
> 
> A          B         newarray
> 1       1  0.1         0.1
> 1       2  0.3         0.1
> 1       3  0.14       0.1
> 2       4  0.2         0.3
> 3       5  0.82       0.14
> 3       6  0.21       0.14
> 4        .   .          0.2
> 7        .   .           .
> 14      .   .            .
> 4      14 0.03        .
> 3                        . 
> 5                        . 
> .                         .
> .                         . 

Hi.

The first column of B seems to contain consecutive integers 1:nrow(B).
If this is true, then try following

  B <- cbind(1:6, c(0.1, 0.3, 0.14, 0.2, 0.82, 0.21))
  A <- rbind(1, 1, 1, 2, 3, 3, 4, 6)
  cbind(B[A[, 1], 2])

Hope this helps.

Petr Savicky.



More information about the R-help mailing list