📅  最后修改于: 2023-12-03 14:47:11.324000             🧑  作者: Mango
在R语言中,我们会经常碰到需要合并两个或多个数据框的情况。按列名合并数据框是一种常用的数据合并方式,本文将介绍如何使用R中的函数进行按列名合并数据框。
我们使用R自带的数据集 mtcars
和 mpg
作为演示数据。
head(mtcars)
# mpg cyl disp hp drat wt qsec vs am gear carb
# Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
# Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
head(mpg)
# manufacturer model displ year cyl trans drv cty hwy fl class
# 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
# 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
# 3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
# 4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact
# 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
# 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
我们使用 merge
函数按列名合并 mtcars
和 mpg
数据框。具体方法如下:
merged_df <- merge(mtcars, mpg, by = "cyl")
其中,by
参数表示按照哪一列进行合并。
我们可以通过如下语句查看合并后的数据框:
head(merged_df)
# cyl mpg disp hp drat wt qsec vs am gear carb manufacturer model year trans drv cty hwy fl class
# 1 4 22.8 108.0 93 3.85 2.320 18.61 1 1 4 1 audi a4 1999 auto(l5) f 18 29 p compact
# 2 4 22.8 108.0 93 3.85 2.320 18.61 1 1 4 1 audi a4 2008 manual(m6) f 20 31 p compact
# 3 4 22.8 108.0 93 3.85 2.320 18.61 1 1 4 1 audi a4 2008 auto(av) f 21 30 p compact
# 4 4 22.8 108.0 93 3.85 2.320 18.61 1 1 4 1 audi a4 1999 manual(m5) f 21 29 p compact
# 5 4 22.8 108.0 93 3.85 2.320 18.61 1 1 4 1 audi a4 2008 auto(l6) f 19 27 p compact
# 6 4 22.8 78.7 66 4.08 2.200 19.47 1 1 4 1 audi a4 1999 auto(l5) f 16 25 p compact
我们可以看到,按照 cyl
列进行了合并,并将合并后的结果保存在了 merged_df
中。
本文介绍了如何使用R中的 merge
函数按列名合并数据框。R中提供了非常方便的数据处理函数,合理使用这些函数可以大大提高我们的数据处理效率。