📜  R - 合并列表中的多个数据帧

📅  最后修改于: 2022-05-13 01:54:25.418000             🧑  作者: Mango

R - 合并列表中的多个数据帧

在本文中,我们将讨论如何使用 R 编程语言合并列表中的多个数据框。

方法一:使用merge()

首先创建两个以上的数据框,以便我们能够合并它们。现在,使用 merge()函数以及所需的参数。

句法 :

现在,将此合并的数据帧传递给 as.list() 以将其转换为列表。



句法:

示例 1:合并列表中的多个数据框

R
df = data.frame(
  id=c(1, 2, 3), 
  name=c("karthik", "chandu", "nandu"))
  
df1 = data.frame(
  id=c(1, 2, 3), 
  branch=c("IT", "CSE", "CSE"))
  
merg = merge(x=df, y=df1, by="id")
print(as.list(merg))


R
df = data.frame(
  id=c(1, 2, 3), 
  name=c("karthik", "chandu", "nandu"))
  
df1 = data.frame(
  id=c(1, 2, 3), 
  branch=c("IT", "CSE", "CSE"))
  
df2 = data.frame(
  id=c(1, 2, 3), 
  company=c("TCS", "Accenture", "Infosys"))
  
merg = merge(x=df, y=df1, z=df2, by="id")
print(as.list(merg))


R
df = data.frame(name=c("karthik", "chandu", "nandu"))
df1 = data.frame(branch=c("IT", "CSE", "CSE"))
df2 = data.frame(company=c("TCS", "Accenture", "Infosys"))
  
merg = cbind(df, df1, df2)
print(as.list(merg))


R
df = data.frame(name=c("karthik", "chandu", "nandu"))
df1 = data.frame(collage_name=c("VFSTR", "VMTW", "IIT"))
df2 = data.frame(place=c("Guntur", "Hyderabad", "Kharagpur"))
df3 = data.frame(proper=c("yellandu", "yellandu", "yellandu"))
  
merg = cbind(df, df1, df2, df3)
print(as.list(merg))


R
library("tidyverse")
  
df1 = data.frame(
  id=c(1, 2, 3), 
  name=c("karthik", "chandu", "nandu"))
  
df2 = data.frame(
  id=c(1, 2, 3),
  Gender=c("Male", "Female", "Male"))
  
df3 = data.frame(
  id=c(1, 2, 3), 
  address=c("Yellandu", "Yellandu", "Yellandu"))
  
data = list(df1, df2, df3)
as.list(data % > % reduce(inner_join, by="id"))


R
library("tidyverse")
  
df1 = data.frame(
  id=c(1, 2, 3),
  name=c("karthik", "chandu", "nandu"))
  
df2 = data.frame(
  id=c(1, 2, 3),
  Gender=c("Male", "Female", "Male"))
  
df3 = data.frame(
  id=c(1, 2, 3), 
  address=c("Yellandu", "Yellandu", "Yellandu"))
  
df4 = data.frame(
  id=c(1, 2, 3), 
  father_name=c("Ramana", "Radha", "krishna"))
  
data = list(df1, df2, df3, df4)
as.list(data % > % reduce(inner_join, by="id"))


输出 :

示例 2:合并列表中的多个数据框

电阻



df = data.frame(
  id=c(1, 2, 3), 
  name=c("karthik", "chandu", "nandu"))
  
df1 = data.frame(
  id=c(1, 2, 3), 
  branch=c("IT", "CSE", "CSE"))
  
df2 = data.frame(
  id=c(1, 2, 3), 
  company=c("TCS", "Accenture", "Infosys"))
  
merg = merge(x=df, y=df1, z=df2, by="id")
print(as.list(merg))

输出 :

方法二:使用cbind()函数

如果我们想合并两个以上的数据帧,我们可以使用 cbind()函数并将结果 cbind() 变量传递给 as.list()函数以将其转换为 list 。

句法 :

示例 1:合并列表中的多个数据框

电阻

df = data.frame(name=c("karthik", "chandu", "nandu"))
df1 = data.frame(branch=c("IT", "CSE", "CSE"))
df2 = data.frame(company=c("TCS", "Accenture", "Infosys"))
  
merg = cbind(df, df1, df2)
print(as.list(merg))

输出 :

示例 2:合并列表中的多个数据框



电阻

df = data.frame(name=c("karthik", "chandu", "nandu"))
df1 = data.frame(collage_name=c("VFSTR", "VMTW", "IIT"))
df2 = data.frame(place=c("Guntur", "Hyderabad", "Kharagpur"))
df3 = data.frame(proper=c("yellandu", "yellandu", "yellandu"))
  
merg = cbind(df, df1, df2, df3)
print(as.list(merg))

输出 :

方法 3:使用 tidyverse

如果我们想合并两个以上的数据帧,我们也可以使用 tidyverse 库。这里首先为所有参与的数据帧创建一个内部连接,然后将其转换为如上所述的列表。

句法:

示例 1:合并列表中的多个数据框

电阻

library("tidyverse")
  
df1 = data.frame(
  id=c(1, 2, 3), 
  name=c("karthik", "chandu", "nandu"))
  
df2 = data.frame(
  id=c(1, 2, 3),
  Gender=c("Male", "Female", "Male"))
  
df3 = data.frame(
  id=c(1, 2, 3), 
  address=c("Yellandu", "Yellandu", "Yellandu"))
  
data = list(df1, df2, df3)
as.list(data % > % reduce(inner_join, by="id"))

输出 :

示例 2:合并列表中的多个数据框

电阻

library("tidyverse")
  
df1 = data.frame(
  id=c(1, 2, 3),
  name=c("karthik", "chandu", "nandu"))
  
df2 = data.frame(
  id=c(1, 2, 3),
  Gender=c("Male", "Female", "Male"))
  
df3 = data.frame(
  id=c(1, 2, 3), 
  address=c("Yellandu", "Yellandu", "Yellandu"))
  
df4 = data.frame(
  id=c(1, 2, 3), 
  father_name=c("Ramana", "Radha", "krishna"))
  
data = list(df1, df2, df3, df4)
as.list(data % > % reduce(inner_join, by="id"))

输出 :