根据两个变量匹配数据帧行(索引)

ros*_*ser 2 merge join r dataframe

我本质上是试图将无序数据变成长形式的线性建模.

我有2个data.frames"rec"和"book"

"book"中的每一行都需要根据行中的两个变量粘贴到几行"rec"的末尾:"MRN"和"COURSE"匹配.

我尝试了以下和其中的变化无济于事:

i=1
newlist=list()
colnames(newlist)=colnames(book)
for ( i in 1:dim(rec)[1]) {
    mrn=as.numeric(as.vector(rec$MRN[i]));
    course=as.character(rec$COURSE[i]);
get.vector<-as.vector(((as.numeric(as.vector(book$MRN))==mrn) & (as.character(book$COURSE)==course)))
newlist[i]<-book[get.vector,] 
i=i+1;
}
Run Code Online (Sandbox Code Playgroud)

如果有人有任何建议

1)让它工作2)使它更优雅(或者可能只是不那么笨拙)

如果我不清楚,请求你的赦免.

我知道我没有合并上面的任何数据,我想如果我能生成一个长格式的data.frame我可以自己组合它们

Pra*_*ani 7

听起来你需要merge两个数据帧.试试这个:

merge(rec, book, by = c('MRN', 'COURSE'))
Run Code Online (Sandbox Code Playgroud)

并阅读有关如何合并这些内容的更多选项的帮助merge(通过?merge在R控制台上执行).