Use cbind, it will work regardless if you have a matching variable between datasets or not. This does assume that observation levels are the same (i.e., order) between dataframes.
Create your dataframes:
dataset1 = data.frame(c("yo","save","gold", "post"),c(53,13,72,88))
colnames(dataset1) = c("Class","Value")
dataset2 = data.frame(c("yo","save","gold", "post"),c(9,4,7,3))
colnames(dataset2) = c("Class","Total_goals")
Answer:
dataset1 = cbind(dataset1, dataset2$Total_goals)
colnames(dataset1) = c("Class","Value","Total_goals")
*Edited to reflect additional info (i.e., duplicate info in the second dataframe), requires matching variable *
Solution if dataframes are of unequal length with one containing duplicate data.
Create your dataframes:
dataset1= data.frame(c("yo","save","gold", "post"),c(53,13,72,88))
colnames(dataset1) = c("Class","Value")
dataset2 = data.frame(c("yo","save","gold",
"post","post","gold"),c(9,4,7,3,3,7))
colnames(dataset2) = c("Class","Total_goals")
Answer:
dataset1$Total_goal = dataset2[match(dataset1$Class, dataset2$Class),2]
colnames(dataset1) = c("Class","Value","Total_goals")