[R] dictionary lookup

From: Thomas Manke <manke_at_molgen.mpg.de>
Date: Fri, 07 Mar 2008 00:45:19 +0100


I have a character-valued vector (old_names) and want to translate its entries whenever possible, using a dictionary (dict=data.frame). The translation direction is dict$V3 --> dict$V2, but some values may be undefined (NA). I suppose this is a very basic task, but I tried in vain to make it more efficient than below. In particular I would like to avoid the explicit (and slow) loop Any help is very much welcome.
Thank you, TM

new_names = old_names
m = match(old_names, dict$V3)
N = length(old_names)
for (i in 1:N) {

     if (is.na(m[i])) { next ; }

     nn = as.vector(dict$V2)[m[i]];
    if (nn == "" ) { next; }

    new_names[i] = nn

R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Fri 07 Mar 2008 - 00:34:53 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 07 Mar 2008 - 01:30:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive