問題のある列

R で学ぶ data.table によるデータ結合

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

共通の列名

R で学ぶ data.table によるデータ結合

共通の列名

data.table 構文を使用する場合

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
R で学ぶ data.table によるデータ結合

merge() を使った共通列名の処理

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
R で学ぶ data.table によるデータ結合

独自のサフィックスで文脈を追加する

suffixes 引数で文脈を明確にできます:

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
R で学ぶ data.table によるデータ結合

列名の変更

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
R で学ぶ data.table によるデータ結合

`data.frames` との結合

data.frames の結合キーが行名に含まれる場合があります

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
R で学ぶ data.table によるデータ結合

さあ、練習しましょう!

R で学ぶ data.table によるデータ結合

Preparing Video For Download...