我有两个数据框,“数据”和“分数”,并想将它们合并到“id”列上:
data = data.frame(id = c(1,2,3,4,5),
state = c("KS","MN","AL","FL","CA"))
scores = data.frame(id = c(1,1,1,2,2,3,3,3),
score = c(66,75,78,86,85,76,75,90))
merge(data, scores, by = "id")
semi_join(data, scores, by = "id")
在“scores”数据中,有多个观察值的“id”,其中每个匹配在连接后获取一行。看?merge
:
如果有多个匹配项,则所有可能的匹配项各贡献一行。
但是,我只想保留与first匹配来自scores
table.
半连接本来就很好,但我无法从右表中选择分数。
有什么建议么?