R语言使用merge合并数据框中相同的列元素

合并两个向量是使用merge()函数

> x <- data.frame(姓名1 = c("张三", "李四", "王五"), 身高 = c(171, 172, 173))
> x
  姓名1 身高
1  张三  171
2  李四  172
3  王五  173
> y <- data.frame(姓名2 = c("张三", "李四", "王五"), 体重 = c(50, 70, 80), 视力 = c(5.0, 4.8, 5.2))
> y
  姓名2 体重 视力
1  张三   50  5.0
2  李四   70  4.8
3  王五   80  5.2
> merge(x, y, by.x = "姓名1", by.y = "姓名2")  ### 根据x表中姓名1和y表中的姓名2连接
  姓名1 身高 体重 视力
1  李四  172   70  4.8
2  王五  173   80  5.2
3  张三  171   50  5.0

若是因子对应的元素不完整,则想要的是全部完整去掉缺失的的时候加上参数all = TRUE

例如:
ID 是共同因子

data1 <- merge(x = data1, y = data2, by = "ID", all = TRUE)

如果想要因子完整,元素不足自动填充NA的话

data1 <- merge(x = data1, y = data2, by = "ID", all.x = TRUE)

如果合成的不是数据框,是两个向量矩阵的话,假如data1的元素少于data2的话想要data1不足的填充NA,来一起则:

data1 <- merge(x = data1, y = data2, by = "ID", all.y = TRUE)

更多讲解请看官网

相关文章

发表回复

您的电子邮箱地址不会被公开。