Hello, I'm trying to vectorize some assignment statements using match(), but can't seem to get it correct.
I have 2 data frames each with a key column of unique values. I want to copy a column from one frame to another where the key values are the same. The data frames are not the same length, and the set of keys is non-overlapping (each frame has keys not in the other). Example: x <- data.frame(id=c(1,3,4,6,7,9,10), r=runif(7)) > x id r 1 1 0.4243219 2 3 0.2389127 3 4 0.7094532 4 6 0.2053836 5 7 0.9630027 6 9 0.1218458 7 10 0.9183175 > y <- data.frame(id=c(1,2,4,7,8,9,10,11,12)) > y id 1 1 2 2 3 4 4 7 5 8 6 9 7 10 8 11 9 12 I want to copy the x$r values to y to obtain >y id r 1 1 0.4243219 2 2 NA 3 4 0.7094532 4 7 0.9630027 5 8 NA 6 9 0.1218458 7 10 0.9183175 8 11 NA 9 12 NA xIdx <- match(x$id,y$id) yields a vector of length x, so it cannot be used directly to copy to y. Any help in vectorizing this assignment would be most welcome. Chris This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately. ______________________________________________ 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.