Hello R helpers! I looked but did not find a table-lookup R-utility. I could use a loop to do the job (old FORTRAN/C habits die hard) but if I have a big table in which I have to search for the values corresponding to a vector, I end up logically with a double loop. Is there already such a utility? Otherwise, is there a way without loops? Thanks as always Anne ---------------------------------------------------- Anne Piotet Tel: +41 79 359 83 32 (mobile) Email: anne.piotet@m-td.com --------------------------------------------------- M-TD Modelling and Technology Development PSE-C CH-1015 Lausanne Switzerland Tel: +41 21 693 83 98 Fax: +41 21 646 41 33 -------------------------------------------------- [[alternative HTML version deleted]]
Try subscripting, e.g. # L holds numbers; its names hold lookup keys L <- 1:26; names(L) <- letters L[c("d","f")] # look up numbers of d and f or merge, e.g. merge(c("d","f"), L, by.x = 1, by.y = 0) Anne <anne.piotet <at> urbanet.ch> writes: : : Hello R helpers! : I looked but did not find a table-lookup R-utility. I could use a loop to do the job (old FORTRAN/C habits die : hard) but if I have a big table in which I have to search for the values corresponding to a vector, I end up : logically with a double loop. : Is there already such a utility? Otherwise, is there a way without loops? : : Thanks as always : Anne
Thank you! It should do the job... (it was jeust a question to know where to look!) Anne ----- Original Message ----- From: "Adaikalavan Ramasamy" <ramasamy at cancer.org.uk> To: "Anne" <anne.piotet at urbanet.ch> Sent: Tuesday, July 13, 2004 2:45 PM Subject: Re: [R] table lookup n R> See match(), %in% and related functions. > > Description: > > 'match' returns a vector of the positions of (first) matches of its > first argument in its second. > > '%in%' is a more intuitive interface as a binary operator, which returns > a logical vector indicating if there is a match or not for its left > operand. > > > > On Tue, 2004-07-13 at 13:34, Anne wrote: > > Hello R helpers! > > I looked but did not find a table-lookup R-utility. I could use a loopto do the job (old FORTRAN/C habits die hard) but if I have a big table in which I have to search for the values corresponding to a vector, I end up logically with a double loop.> > Is there already such a utility? Otherwise, is there a way withoutloops?> > > > Thanks as always > > Anne > > ---------------------------------------------------- > > Anne Piotet > > Tel: +41 79 359 83 32 (mobile) > > Email: anne.piotet at m-td.com > > --------------------------------------------------- > > M-TD Modelling and Technology Development > > PSE-C > > CH-1015 Lausanne > > Switzerland > > Tel: +41 21 693 83 98 > > Fax: +41 21 646 41 33 > > -------------------------------------------------- > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help at stat.math.ethz.ch mailing list > > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide!http://www.R-project.org/posting-guide.html> > > >
Hi On 13 Jul 2004 at 14:34, Anne wrote:> Hello R helpers! > I looked but did not find a table-lookup R-utility. I could use a > loop to do the job (old FORTRAN/C habits die hard) but if I have a big > table in which I have to search for the values corresponding to a > vector, I end up logically with a double loop. Is there already such a > utility? Otherwise, is there a way without loops?Well, if I understand you correctly, you want to find something in your table (data.frame) try: your.table==your.vector to get TRUE/FALSE table with same dimensions as your table and which(your.table==your.vector, arr.ind=T) to obtain row/col indices of TRUE values In case you want something else please try to be more specific. Cheers Petr> > Thanks as always > Anne > ---------------------------------------------------- > Anne Piotet > Tel: +41 79 359 83 32 (mobile) > Email: anne.piotet at m-td.com > --------------------------------------------------- > M-TD Modelling and Technology Development > PSE-C > CH-1015 Lausanne > Switzerland > Tel: +41 21 693 83 98 > Fax: +41 21 646 41 33 > -------------------------------------------------- > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.htmlPetr Pikal petr.pikal at precheza.cz
There is also the match() function, and the %in% operator, either of which might do the job, depending on your exact details. For example, (1:26)[letters %in% c('x','t','j')] -Don At 2:34 PM +0200 7/13/04, Anne wrote:>Hello R helpers! >I looked but did not find a table-lookup R-utility. I could use a >loop to do the job (old FORTRAN/C habits die hard) but if I have a >big table in which I have to search for the values corresponding to >a vector, I end up logically with a double loop. >Is there already such a utility? Otherwise, is there a way without loops? > >Thanks as always >Anne >---------------------------------------------------- >Anne Piotet >Tel: +41 79 359 83 32 (mobile) >Email: anne.piotet at m-td.com >--------------------------------------------------- >M-TD Modelling and Technology Development >PSE-C >CH-1015 Lausanne >Switzerland >Tel: +41 21 693 83 98 >Fax: +41 21 646 41 33 >-------------------------------------------------- > > [[alternative HTML version deleted]] > >______________________________________________ >R-help at stat.math.ethz.ch mailing list >https://www.stat.math.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html-- -------------------------------------- Don MacQueen Environmental Protection Department Lawrence Livermore National Laboratory Livermore, CA, USA
?match %in% Kjetil Halvorsen Anne wrote:>Hello R helpers! >I looked but did not find a table-lookup R-utility. I could use a loop to do the job (old FORTRAN/C habits die hard) but if I have a big table in which I have to search for the values corresponding to a vector, I end up logically with a double loop. >Is there already such a utility? Otherwise, is there a way without loops? > >Thanks as always >Anne >---------------------------------------------------- >Anne Piotet >Tel: +41 79 359 83 32 (mobile) >Email: anne.piotet at m-td.com >--------------------------------------------------- >M-TD Modelling and Technology Development >PSE-C >CH-1015 Lausanne >Switzerland >Tel: +41 21 693 83 98 >Fax: +41 21 646 41 33 >-------------------------------------------------- > > [[alternative HTML version deleted]] > >______________________________________________ >R-help at stat.math.ethz.ch mailing list >https://www.stat.math.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > > > >