问题列

在 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 的连接键可能在行名中

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