, .
b <-merge(A,B,by="author_id", sort=F)
b <- b[,c(2,1,3,4)]
by=... sort=F, merge(...) . 1 2.
EDIT ( @BrianDiggs)
@BrianDiggs , , sort=F by=..., A. , data.table, :
A <- data.frame(paper_id=1:10000, author_id=rev(LETTERS[1:4]))
B <- data.frame(author_id=LETTERS[1:4],
author_name=c("Davies","Hawking","Carlyle","Higgs"),
author_affiliation=c("Oxford","Cambridge","UCL","Edinburgh"),
stringsAsFactors=F)
library(data.table)
A <- data.table(A,key="author_id")
B <- data.table(B,key="author_id")
A[B,c("author_name","author_affiliation"):=list(author_name,author_affiliation)]
setkey(A,paper_id)
head(A)
sort(...), " " radix. , . .
, A[B,...] , . , ( A merge(...).