I have two dataframes
First one:
df <- structure(list(Tm = c("ARI", "ARI", "ARI", "ARI", "ARI", "ARI",
"ARI", "ARI", "ARI", "ARI"), Opp = c("COL", "COL", "COL", "LAD",
"LAD", "STL", "STL", "STL", "SFG", "SFG"), Result = c("W", "W",
"L", "W", "W", "W", "L", "W", "W", "W"), Win = c("Corbin", "Ray",
"Shaw", "Godley", "Corbin", "Ray", "Wacha", "Hirano", "Godley",
"Salas"), Loss = c("Gray", "Senzatela", "Salas", "Kershaw", "Wood",
"Wainwright", "Greinke", "Leone", "Holland", "Suarez")), row.names = 2:11, class = "data.frame")
> df
Tm Opp Result Win Loss
2 ARI COL W Corbin Gray
3 ARI COL W Ray Senzatela
4 ARI COL L Shaw Salas
5 ARI LAD W Godley Kershaw
6 ARI LAD W Corbin Wood
7 ARI STL W Ray Wainwright
8 ARI STL L Wacha Greinke
9 ARI STL W Hirano Leone
10 ARI SFG W Godley Holland
11 ARI SFG W Salas Suarez
Second one:
war_df <- structure(list(Team = c("ARI", "ATL", "BAL", "BOS", "CHC", "CHW",
"CIN", "CLE", "COL", "DET"), WAR = c(2.4, 9.1, -23.5, 20.9, 12.6,
-17.3, -9.5, 15.3, 5.4, -17.3)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -10L))
> war_df
Team WAR
1 ARI 2.4
2 ATL 9.1
3 BAL -23.5
4 BOS 20.9
5 CHC 12.6
6 CHW -17.3
7 CIN -9.5
8 CLE 15.3
9 COL 5.4
10 DET -17.3
I want the following result (only showing part of the final dataframe):
Tm Opp Result Win Loss Tm_WAR Opp_WAR
2 ARI COL W Corbin Gray 2.4 5.4
3 ARI COL W Ray Senzatela 2.4 5.4
4 ARI COL L Shaw Salas 2.4 5.4
Rules for the join:
- The value of
Tm_WAR
is taken fromdf_WAR
and is theWAR
of theTm
indf
. - The value of
Opp_WAR
is taken fromdf_WAR
and is theWAR
of theOpp
indf
.