問題欄位

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.frame` 進行連接

data.frame 的連接鍵有時在 rownames 中

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...