📜  如何合并 R 中的数据帧?(1)

📅  最后修改于: 2023-12-03 15:24:05.540000             🧑  作者: Mango

如何合并 R 中的数据框?

介绍

在R语言中,数据框(data frame)是一种最常用的数据类型。当我们需要将两个或多个数据框合并成一个时,可以使用R语言中提供的多种合并函数,如merge(), cbind()和rbind()函数。

在本教程中,我们将介绍这些函数的用法,并演示如何合并两个或多个数据框。

合并多个数据框
Merge函数

merge()函数可以将两个具有相同列的数据框按照一个或多个列的值进行合并。合并结果的列数等于两个数据框的列数之和减去重复列的个数。以下是一个例子:

# 创建两个数据框
df1 <- data.frame(id = 1:5,
                  name = c("Alice", "Bob", "Charlie", "David", "Eve"))

df2 <- data.frame(id = 3:7,
                  age = c(30, 40, 50, 60, 70))

# 合并数据框
merged_df <- merge(df1, df2, by="id")

# 输出合并结果
print(merged_df)

输出:

  id     name age
1  3  Charlie  30
2  4    David  40
3  5      Eve  50

注意,合并时使用的列名必须在两个数据框中都存在。

cbind函数

cbind()函数可以将两个或多个数据框按列进行合并,函数中的数据框个数可以是任意个。以下是一个例子:

# 创建两个数据框
df1 <- data.frame(id = 1:5,
                  name = c("Alice", "Bob", "Charlie", "David", "Eve"))

df2 <- data.frame(age = c(30, 40, 50, 60, 70),
                  sex = c("F", "M", "M", "F", "F"))

# 合并数据框
merged_df <- cbind(df1, df2)

# 输出合并结果
print(merged_df)

输出:

  id     name age sex
1  1    Alice  30   F
2  2      Bob  40   M
3  3  Charlie  50   M
4  4    David  60   F
5  5      Eve  70   F
rbind函数

rbind()函数可以将两个或多个数据框按行进行合并,函数中的数据框个数可以是任意个。以下是一个例子:

# 创建两个数据框
df1 <- data.frame(id = 1:2,
                  name = c("Alice", "Bob"))

df2 <- data.frame(id = 3:4,
                  name = c("Charlie", "David"))

df3 <- data.frame(id = 5:6,
                  name = c("Eve", "Frank"))

# 合并数据框
merged_df <- rbind(df1, df2, df3)

# 输出合并结果
print(merged_df)

输出:

  id     name
1  1    Alice
2  2      Bob
3  3  Charlie
4  4    David
5  5      Eve
6  6    Frank
结论

在R语言中,合并数据框是一项常见的任务。我们可以使用merge()函数在列上合并两个数据框,使用cbind()函数在列上合并多个数据框,或使用rbind()函数在行上合并多个数据框。熟悉这些函数的用法,可以帮助我们更好地处理数据集。