R语言 如何合并不同长度的R数据帧

R语言 如何合并不同长度的R数据帧

在这篇文章中,我们将讨论如何在R编程语言中合并两个不同长度的数据框,并形成一个最终的数据框。

步驟 –

  • 创建第一个数据框架
  • 创建第二个数据框架
  • 使用下面给定的任何函数并结合它们
  • 显示这样创建的数据集

方法1:使用合并函数

R有一个内置的函数叫merge,它可以自动合并两个不同长度的数据框。

语法

merge(dataframe1, dataframe 2)

例子

# 1st Dataframe
emp.data <- data.frame(
     emp_id = c (1:5),
     emp_name = c("Ryan","Sita","Ram","Raj","Gargi"),
     salary = c(62.3,151,311.0,429.0,822.25)
 )
 
# 2nd Dataframe
df2 <- data.frame(
     height = c ("5'3","5'11","4'9","6"),
     weight = c(55.8,68,89,42.9)
      
 )
 
merge(emp.data, df2)

输出

emp_id emp_name salary height weight

1       1     Ryan  62.30    5’3   55.8

2       2     Sita 151.00    5’3   55.8

3       3      Ram 311.00    5’3   55.8

4       4      Raj 429.00    5’3   55.8

5       5    Gargi 822.25    5’3   55.8

6       1     Ryan  62.30   5’11   68.0

7       2     Sita 151.00   5’11   68.0

8       3      Ram 311.00   5’11   68.0

9       4      Raj 429.00   5’11   68.0

10      5    Gargi 822.25   5’11   68.0

11      1     Ryan  62.30    4’9   89.0

12      2     Sita 151.00    4’9   89.0

13      3      Ram 311.00    4’9   89.0

14      4      Raj 429.00    4’9   89.0

15      5    Gargi 822.25    4’9   89.0

16      1     Ryan  62.30      6   42.9

17      2     Sita 151.00      6   42.9

18      3      Ram 311.00      6   42.9

19      4      Raj 429.00      6   42.9

20      5    Gargi 822.25      6   42.9

方法2: 使用cbind

在这个方法中,我们将为两个数据框架创建一个名为id的列,并通过该列的id合并数据框架。

语法: cbind(x1, x2, …, deparse.level = 1)

参数

  • x1, x2: 向量、矩阵、数据帧
  • deparse.level: 这个值决定了列名的生成方式。deparse.level的默认值是1。

例子

# 1st Dataframe
emp.data <- data.frame(
     emp_id = c (1:5),
     emp_name = c("Ryan","Sita","Ram","Raj","Gargi"),
     salary = c(62.3,151,311.0,429.0,822.25)
 )
 
# 2nd Dataframe
df2 <- data.frame(
     height = c ("5'3","5'11","4'9","6"),
     weight = c(55.8,68,89,42.9)
      
 )
 
# creating the column id for dataframe 1
emp.data = cbind("id"=rownames(emp.data),emp.data)
 
# creating column id for dataframe 2
df2 = cbind("id"=rownames(df2),df2)
 
merge(emp.data,df2,all=T)

输出

id emp_id emp_name salary height weight

1  1         Ryan  62.30    5’3   55.8

2  2         Sita  151.00   5’11   68.0

3  3         Ram   311.00    4’9   89.0

4  4         Raj   429.00      6   42.9

5  5         Gargi 822.25   <NA>     NA

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程