Home > front end >  Combine Tables with doppel Key in R
Combine Tables with doppel Key in R

Time:04-17

I have two Datasets and want to add Columns from DATA2 to DATA1 by using doppel Key.

Problem: Data1 is having more rows than DATA2.

I want R to copy all values with the right doppel key. Ich habe 2 Datensätze die ich nach Zwei Spalten ergänzend zusammenfügen möchte. Jedoch hat DATA1 mehr Zeilen (mehrfach nennung gleicher Zeilen) als DATA 2.

What i have:

    DATA1                    DATA2
    key1  key 2 ...           key1  key2   XXX
    A     1                   A     1       X
    A     1                   A     2       Y
    A     2                   B     1       Z
    B     1                   
    B     1
    B     1
    .

Mein Ziel ist es DATA1 um die Spalten XXX zu ergänzen. Die Werte XXX von DATA 2 sollen in den häufigeren Zeilen von DATA1 kopiert werde bzw. mehrfach genannt werden.

What i need:

DATA 1                    DATA2
key1  key 2  WERTE        key1  key2  WERTE
A     1       X            A     1       X
A     1       X            A     2       Y
A     2       Y            B     1       Z
B     1       Z
B     1       Z
B     1       Z       

Hugh Thank you for any Help or Ideas! : )

Ich dachte an full_join mit dplyr kann es aber nicht richtig umsetzen.

Ich bin leider noch keine R Expertin. Falls jemand von euch eine Idee hat und mir helfen kann wäre ich sehr sehr dankbar.

Viele Liebe Grüße

CodePudding user response:

You can use the left_join from dplyr and select multiple columns by which you want to join. You can use the following code:

DATA1 <- data.frame(key1 = c("A", "A", "A", "B", "B", "B"),
                    key2 = c(1, 1, 2, 1, 1, 1))

DATA2 <- data.frame(key1 = c("A", "A", "B"),
                    key2 = c(1, 2, 1),
                    XXX = c("X", "Y", "Z"))

library(dplyr)
DATA_COMBINED <- left_join(DATA1, DATA2, by = c("key1", "key2"))
DATA_COMBINED

Output:

  key1 key2 XXX
1    A    1   X
2    A    1   X
3    A    2   Y
4    B    1   Z
5    B    1   Z
6    B    1   Z
  • Related