小编给大家分享一下R语言中数据表匹配和拼接合并函数的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
R中合并的函数类似于Excel中的Vlookup,可以实现对两个数据表进行匹配和拼接的功能。
合并(x, y,, by =,相交(名字(x),名称(y)),, by.x =,,, by.y =,,, all =,假,,all.x =,,, all.y =,,, sort =,真的,,suffixes =, c (“.x",“.y"),, incomparables =, NULL,,…)
<强> x, y:用于合并的两个数据框强>
, by.x, by.y:用于连接两个数据集的列,相交(a, b)值向量a, b的交集,名字(x)指提取数据集x的列的名=相交(名称(x)名称(y))是获取数据集x, y的列名后,提取其公共列名,作为两个数据集的连接列,当有多个公共列时,需用下标指出公共列,如名字(x)[1],指定x数据集的第1列作为公共列也可以直接写为=的公共列名& # 39;,前提是两个数据集中都有该列名,并且大小写完全一致,R语言区分大小写
, all.x, all.y:指定x和y的行是否应该全在输出文件。
:由指定的列是否要排序。
后缀:指定除由外相同列名的后缀。
无与伦比的:指由中定哪些单元不进行合并。
合并函数有4种匹配拼接模式,分别为内,左,右和外模式。其内心中为默认的匹配模式的本性=T代表全连接,all.x=T代表左联结;。y=T代表右连接
内模式匹配,只显示两个数据集公共列中均有的行
#有多个公共列时,需指出使用哪一列作为连接列合并(x, y=相交(名称(x)[1],名称(y) [1]))
#当两个数据集连接列名称同时,直接用by.x,。y指定连接列合并(x, y)。x=& # 39;名字# 39;通过。y=& # 39;名字# 39;)
#当两个数据集均有连接列时,直接指定连接列的名称合并(x, y=& # 39;名字# 39;)
外模式,将两张表的数据汇总,表中原来没有的数据置为空
合并(x, y,,所有=TRUE, sort=TRUE)
#所有=TRUE表示选取x, y数据集的所有行,=TRUE,表示,按列进行排序,默认升序
左匹配模式
合并(x y all.x=TRUE, sort=TRUE)
#多个公共列末指定连接列,左连接,设置。x=TRUE,结果只显示数据x的列及x在y数据集中没有的列
合并(x, y=& # 39;名字# 39;,。x=TRUE, sort=TRUE) #多个公共列指定连接列指,左连接,设置。x=TRUE,结果只显示x所有名字(x)[1]值
正确的匹配模式
合并(y  x ,,=& # 39;名字# 39;,all.y=TRUE, sort=TRUE)
#多个公共列指定连接列#左连接,设置。y=TRUE,结果只显示y所有名字(y)[1]值的记录
<强>补充:R语言子集和合并函数的使用强>
1,合并函数对数据框的操作
从两个数据框中选择出条件相等的行组合成一个新的数据框
df1=data.frame (name=c (“aa",“bb",“cc"),年龄=c(20、29、30),性=c (“f",“m",“f")) df2=data.frame (name=c (“dd",“bb",“cc"),年龄=c(40岁,35岁,36),性=c (“f",“m",“f")) mergedf=合并(df1, df2=皀ame")
2,子集函数
从某一个数据框中选择出符合某条件的数据或是相关的列
(1)单条件查询
祝辞,selectresult=子集(df1 name==癮a") 祝辞selectresult ,name age 性 1,,aa 20, f 祝辞df1 ,name age 性 1,,aa 20, f 2,,bb 29, m 3,,cc 30,, f
(2)指定显示列
祝辞,selectresult=子集(df1 name==癮a",选择=c(年龄、性别)) 祝辞selectresult age 性 1,20,,f
(3)多条件查询
祝辞,selectresult=子集(df1 name==癮a",,,性==癴",选择=c(年龄、性别)) 祝辞selectresult age 性 1,20,f 祝辞df1 ,name age 性 1,,aa 20, f 2,,bb 29, m 3,,cc 30,, f
以上是“R语言中数据表匹配和拼接合并函数的使用方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!