📅  最后修改于: 2023-12-03 14:52:32.221000             🧑  作者: Mango
在 R 中,合并多个 DataFrame 可以使用 merge()
函数。merge()
函数有一些参数可以控制如何合并 DataFrame,主要有以下两种方式:
如果要基于一个共同的列合并 DataFrame,可以使用 merge()
函数的 by
参数。by
参数可以传递一个向量,其中包含了待合并的两个 DataFrame 共同的列名。
下面的例子演示了如何在 R 中基于一个共同的列合并 DataFrame:
df1 <- data.frame(id = 1:3, name = c("Alice", "Bob", "Charlie"), age = c(25, 30, 35))
df2 <- data.frame(id = 1:3, salary = c(50000, 60000, 70000))
merged_df <- merge(df1, df2, by = "id")
上面的代码中,我们创建了两个 DataFrame df1
和 df2
,并指定了 id
列作为两个 DataFrame 的共同列。然后,我们使用 merge()
函数,将 df1
和 df2
按照 id
列进行合并,并将合并结果赋值给 merged_df
。
如果要基于多个共同的列合并 DataFrame,可以使用 merge()
函数的两个参数:by.x
和 by.y
。by.x
参数可以传递一个向量,其中包含了待合并的第一个 DataFrame 中的多个列名;by.y
参数可以传递一个向量,其中包含了待合并的第二个 DataFrame 中的多个列名。
下面的例子演示了如何在 R 中基于多个共同的列合并 DataFrame:
df1 <- data.frame(id = 1:3, name = c("Alice", "Bob", "Charlie"), age = c(25, 30, 35), gender = c("女", "男", "女"))
df2 <- data.frame(id = 1:3, salary = c(50000, 60000, 70000), gender = c("女", "男", "女"))
merged_df <- merge(df1, df2, by.x = c("id", "gender"), by.y = c("id", "gender"))
上面的代码中,我们创建了两个 DataFrame df1
和 df2
,并指定了 id
和 gender
列作为两个 DataFrame 的共同列。然后,我们使用 merge()
函数,将 df1
和 df2
按照 id
和 gender
列进行合并,并将合并结果赋值给 merged_df
。
以上就是如何在 R 中基于多列合并 DataFrame 的介绍。
代码片段:
# 基于一个共同的列合并 DataFrame
df1 <- data.frame(id = 1:3, name = c("Alice", "Bob", "Charlie"), age = c(25, 30, 35))
df2 <- data.frame(id = 1:3, salary = c(50000, 60000, 70000))
merged_df <- merge(df1, df2, by = "id")
# 基于多个共同的列合并 DataFrame
df1 <- data.frame(id = 1:3, name = c("Alice", "Bob", "Charlie"), age = c(25, 30, 35), gender = c("女", "男", "女"))
df2 <- data.frame(id = 1:3, salary = c(50000, 60000, 70000), gender = c("女", "男", "女"))
merged_df <- merge(df1, df2, by.x = c("id", "gender"), by.y = c("id", "gender"))