Hi, 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@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.