Problematiska kolumner

Att sammanfoga data med data.table i R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Gemensamma kolumnnamn

Att sammanfoga data med data.table i R

Gemensamma kolumnnamn

Med data.table-syntax

parents[children, on = .(name = parent)]
    name gender age    i.name i.gender i.age
1: Sarah      F  41    Oliver        M     5
2:   Max      M  43 Sebastian        M     8
3:   Qin      F  36   Kai-lee        F     7
Att sammanfoga data med data.table i R

Gemensamma kolumnnamn med merge()

Med funktionen merge()

merge(x = children, y = parents, by.x = "parent", by.y = "name")
   parent      name gender.x age.x gender.y age.y
1:    Max Sebastian        M     8        M    43
2:    Qin   Kai-lee        F     7        F    36
3:  Sarah    Oliver        M     5        F    41
Att sammanfoga data med data.table i R

Lägg till kontext med egna suffix

Argumentet suffixes ger användbar kontext:

merge(children, parents, by.x = "parent", by.y = "name", 
      suffixes = c(".child", ".parent"))
   parent      name gender.child age.child gender.parent age.parent
1:    Max Sebastian            M         8             M         43
2:    Qin   Kai-lee            F         7             F         36
3:  Sarah    Oliver            M         5             F         41
Att sammanfoga data med data.table i R

Byta namn på kolumner

Byt namn på alla kolumner med setnames()

setnames(parents, c("parent", "parent.gender", "parent.age"))

setnames(parents, old = c("gender", "age"), new = c("parent.gender", "parent.age"))
parents
   parent parent.gender parent.age
1:  Sarah             F         41
2:    Max             M         43
3:    Qin             F         36
Att sammanfoga data med data.table i R

Joina med `data.frames`

Joinnycklar för data.frames kan finnas i radnamnen

parents
      gender age
Sarah      F  41
Max        M  43
Qin        F  36
parents <- as.data.table(parents, keep.rownames = "parent")
parents
   parent gender age
1:  Sarah      F  41
2:    Max      M  43
3:    Qin      F  36
Att sammanfoga data med data.table i R

Nu kör vi en övning!

Att sammanfoga data med data.table i R

Preparing Video For Download...