将一个数据框中的列复制到多行中的另一个数据框中

时间:2017-05-25 17:32:26

标签: r

我有两个长度不等的数据帧,A和B.我想根据两列将A列复制到B中。但是,由于数据帧的长度不相等,我想在匹配发生的地方拥有同一行的多个副本。例如:

A

Team       Season     stat1     stat2     stat3
Maryland     2002      23.0      2.54      3.43
Duke         2002      32.1      2.11      2.56
Siena        2002      21.5      3.11      2.11

Team         Season
Maryland     2002
Siena        2002
Maryland     2002
Duke         2002

最终

Team     Season     stat1     stat2     stat3
Maryland   2002      23.0      2.54      3.43
Siena      2002      21.5      3.11      2.11
Maryland   2002      23.0      3.11      3.43
Duke       2002      32.1      2.11      2.56

所以,我想根据Team和Season中的字符串将stat1,stat2和stat3从A复制到B中。请注意,Maryland显示不止一次,因此我想将stat1,stat2和stat3复制到BOTH行中。另外,为了长度起见,我只包括2002年同一赛季的数据,但我希望能够根据球队和赛季进行比赛。我已经尝试使用合并功能,但它似乎没有复制到多行。

注意这是我在这里发表的第一篇文章,请原谅我没有最好的格式。提前谢谢。

2 个答案:

答案 0 :(得分:0)

假设B = data_b且A = data_a

final<-merge(data_b,data_a,by=c("Team","Season"),all.x=TRUE)

答案 1 :(得分:0)

容易腻。使用合并功能。在这种情况下,它将是: 合并(A,B,by = c('团队','季'),all.Y = TRUE)