Hur man använder merge () Funktion med Data Set i R

December 1

I R du använder merge () för att kombinera dataramar. Denna kraftfulla funktion försöker identifiera kolumner eller rader som är gemensamma mellan de två olika dataramar.

Hur du använder merge att hitta korsningen av data

Den enklaste formen av merge () finner skärningspunkten mellan två olika uppsättningar data. Med andra ord, för att skapa en data ram som består av de stater som är kall samt stora, använd standardversionen av merge ():

> Merge (cold.states, large.states)
Namn Frost Område
1 Alaska 152 566432
2 Colorado 166 103766
3 Montana 155 145587
4 Nevada 188 109889

Om du är bekant med en databas språk såsom SQL, kan du ha gissat att merge () är mycket lik en databas gå med. Detta är verkligen till fallet och de olika argumenten samman () kan du utföra naturligt går, liksom vänster, höger, och full yttre kopplingar.

Den merge () funktionen tar ganska stort antal argument. Dessa argument kan se ganska skrämmande tills du inser att de bildar ett mindre antal relaterade argument:

  • x: En dataram.
  • y: En dataram.
  • genom, by.x, by.y: Namnen på de kolumner som är gemensamma för både x och y. Standard är att använda kolumnerna med vanliga namn mellan de två dataramar.
  • allt all.x, all.y: Logiska värden som anger vilken typ av sammanslagningen. Standardvärdet är allt = FALSKT (vilket innebär att endast de matchande rader return).

Denna sista grupp av argument - allt all.x och all.y - förtjänar en förklaring. Dessa argument avgöra vilken typ av sammanslagning som kommer att hända.

Hur man förstå de olika typerna av merge

Den merge funktionen () tillåter fyra sätt att kombinera data:

  • Naturligt gå: Att hålla endast rader som matchar från dataramar, anger argumentet alla = FALSKT.
  • Full yttre koppling: För att hålla alla rader från båda dataramar, ange alla = SANT.
  • Vänster yttre koppling: Om du vill inkludera alla rader i ditt dataram x och bara de från y som matchar anger all.x = SANT.
  • Höger yttre koppling: Om du vill inkludera alla rader i ditt dataram y och bara de från x den matchen, ange all.y = SANT.

    Hur man använder merge () Funktion med Data Set i R

Så hittar du till förbundet (full yttre koppling)

Återgå till exempel US påstår, att genomföra en fullständig sammanslagning av kalla och stora stater, användning merge och ange alla = SANT:

> merge (cold.states, large.states, alla = SANT)
Namn Frost Område
1 Alaska 152 566432
2 Arizona NA 113417
3 Kalifornien NA 156361
....
13 Texas NA 262134
14 Vermont 168 NA
15 Wyoming 173 NA

Båda dataramar har en variabel namn, så R matchar fall på namnen på staterna. Variabeln Frost kommer från dataramen cold.states och variabeln Område kommer från dataramen large.states.

Observera att detta utför kompletta sammanfogningen och fyller kolonnerna med NA-värden där det finns inga matchande data.