Skip to content

Search arrays based on similar values

4 messages · mjdubya, David Winsemius, Petr Savicky

#
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                        . 
.                         .
.                         . 

Any suggestions are greatly appreciated!  

--
View this message in context: http://r.789695.n4.nabble.com/Search-arrays-based-on-similar-values-tp3429381p3429381.html
Sent from the R help mailing list archive at Nabble.com.
#
On Apr 5, 2011, at 6:34 PM, mjdubya wrote:

            
Sounds like a job for merge(). Tested solutions offered when  
reproducible examples are provided.
David Winsemius, MD
West Hartford, CT
#
On Tue, Apr 05, 2011 at 05:34:50PM -0500, mjdubya wrote:
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.