-When we have two data sets and they share certain attributes, we may want to merge them.

-The “merge” function works on data frames

-Use “I” operator to stop R from converting strings to functions

city <-data.frame(city = I(c("Chicago", "Seattle", "New York", "San Francisco", "Los Angeles")),
 state = I(c("IL", "WA", "NY", "CA", "CA")),
 population = c(2715000, 637535, 8337000, 825863, 3858000),
 coastal = c(F, F, T, T, T))
city
weather <- data.frame(city = I(c(
       "Chicago",
       "Washington",
       "Seattle",
       "New York",
       "Kansas City",
       "Atlanta",
       "San Francisco",
       "Los Angeles"
     )),
     averagehigh = c(57, 62, 58, 57, 59, 63, 64, 72),
     averagelow = c(50, 55, 53, 49, 50, 59, 57, 68),
     inchsnow = c(T, T, F, T, T, F, F, F))
weather

Match

match function compares one vector to another vector, returning index numbers for where matches occur

match(city$city, weather$city)
[1] 1 3 4 7 8
weather$city[match(city$city, weather$city)]
[1] "Chicago"       "Seattle"       "New York"      "San Francisco" "Los Angeles"  

Extract values by creating a subset

city$city %in% weather$city
[1] TRUE TRUE TRUE TRUE TRUE

This means that each observation in the CITY data set is in the WEATHER data set How can match these matching tags into one data set? ##MERGE

merge(city, weather, by.x="city", by.y="city")
LS0tDQp0aXRsZTogIk1FUkdJTkcgREFUQSINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6IA0KICAgIGhpZ2hsaWdodDogdGFuZ28NCiAgICB0aGVtZTogc3BhY2VsYWINCi0tLQ0KLVdoZW4gd2UgaGF2ZSB0d28gZGF0YSBzZXRzIGFuZCB0aGV5IHNoYXJlIGNlcnRhaW4gYXR0cmlidXRlcywgd2UgbWF5IHdhbnQgdG8gbWVyZ2UgdGhlbS4gDQoNCi1UaGUgIm1lcmdlIiBmdW5jdGlvbiB3b3JrcyBvbiBkYXRhIGZyYW1lcw0KDQotVXNlICJJIiBvcGVyYXRvciB0byBzdG9wIFIgZnJvbSBjb252ZXJ0aW5nIHN0cmluZ3MgdG8gZnVuY3Rpb25zDQoNCmBgYHtyfQ0KY2l0eSA8LWRhdGEuZnJhbWUoY2l0eSA9IEkoYygiQ2hpY2FnbyIsICJTZWF0dGxlIiwgIk5ldyBZb3JrIiwgIlNhbiBGcmFuY2lzY28iLCAiTG9zIEFuZ2VsZXMiKSksDQogc3RhdGUgPSBJKGMoIklMIiwgIldBIiwgIk5ZIiwgIkNBIiwgIkNBIikpLA0KIHBvcHVsYXRpb24gPSBjKDI3MTUwMDAsIDYzNzUzNSwgODMzNzAwMCwgODI1ODYzLCAzODU4MDAwKSwNCiBjb2FzdGFsID0gYyhGLCBGLCBULCBULCBUKSkNCmNpdHkNCmBgYA0KDQpgYGB7cn0NCndlYXRoZXIgPC0gZGF0YS5mcmFtZShjaXR5ID0gSShjKA0KICAgICAgICJDaGljYWdvIiwNCiAgICAgICAiV2FzaGluZ3RvbiIsDQogICAgICAgIlNlYXR0bGUiLA0KICAgICAgICJOZXcgWW9yayIsDQogICAgICAgIkthbnNhcyBDaXR5IiwNCiAgICAgICAiQXRsYW50YSIsDQogICAgICAgIlNhbiBGcmFuY2lzY28iLA0KICAgICAgICJMb3MgQW5nZWxlcyINCiAgICAgKSksDQogICAgIGF2ZXJhZ2VoaWdoID0gYyg1NywgNjIsIDU4LCA1NywgNTksIDYzLCA2NCwgNzIpLA0KICAgICBhdmVyYWdlbG93ID0gYyg1MCwgNTUsIDUzLCA0OSwgNTAsIDU5LCA1NywgNjgpLA0KICAgICBpbmNoc25vdyA9IGMoVCwgVCwgRiwgVCwgVCwgRiwgRiwgRikpDQpgYGANCg0KYGBge3J9DQp3ZWF0aGVyDQpgYGANCiMjTWF0Y2gNCm1hdGNoIGZ1bmN0aW9uIGNvbXBhcmVzIG9uZSB2ZWN0b3IgdG8gYW5vdGhlciB2ZWN0b3IsIHJldHVybmluZyBpbmRleCBudW1iZXJzIGZvciB3aGVyZSBtYXRjaGVzIG9jY3VyDQpgYGB7cn0NCm1hdGNoKGNpdHkkY2l0eSwgd2VhdGhlciRjaXR5KQ0KYGBgDQpgYGB7cn0NCndlYXRoZXIkY2l0eVttYXRjaChjaXR5JGNpdHksIHdlYXRoZXIkY2l0eSldDQpgYGANCkV4dHJhY3QgdmFsdWVzIGJ5IGNyZWF0aW5nIGEgc3Vic2V0DQpgYGB7cn0NCmNpdHkkY2l0eSAlaW4lIHdlYXRoZXIkY2l0eQ0KYGBgDQpUaGlzIG1lYW5zIHRoYXQgZWFjaCBvYnNlcnZhdGlvbiBpbiB0aGUgQ0lUWSBkYXRhIHNldCBpcyBpbiB0aGUgV0VBVEhFUiBkYXRhIHNldA0KSG93IGNhbiBtYXRjaCB0aGVzZSBtYXRjaGluZyB0YWdzIGludG8gb25lIGRhdGEgc2V0Pw0KIyNNRVJHRQ0KYGBge3J9DQptZXJnZShjaXR5LCB3ZWF0aGVyLCBieS54PSJjaXR5IiwgYnkueT0iY2l0eSIpDQpgYGA=