r语言之merge函数案例

上传人:xiao****1972 文档编号:84086695 上传时间:2019-03-02 格式:DOCX 页数:3 大小:14.47KB
返回 下载 相关 举报
r语言之merge函数案例_第1页
第1页 / 共3页
r语言之merge函数案例_第2页
第2页 / 共3页
r语言之merge函数案例_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《r语言之merge函数案例》由会员分享,可在线阅读,更多相关《r语言之merge函数案例(3页珍藏版)》请在金锄头文库上搜索。

1、R语言的merge函数可以实现类似SQL的有点类似 left join right join 或者类似union的效果。df1 = data.frame(CustomerId=c(1:6),Product=c(rep(Toaster,3),rep(Radio,3) df2 = data.frame(CustomerId=c(2,4,6,7),State=c(rep(Alabama,3),rep(Ohio,1) df1CustomerId Product1 1 Toaster2 2 Toaster3 3 Toaster4 4 Radio5 5 Radio6 6 Radio df2Customer

2、Id State1 2 Alabama2 4 Alabama3 6 Alabama4 7 Ohio merge(df1, df2, all=TRUE)CustomerId Product State1 1 Toaster 2 2 Toaster Alabama3 3 Toaster 4 4 Radio Alabama5 5 Radio 6 6 Radio Alabama7 7 Ohio#full join的效果 merge(df1, df2, all.x=TRUE)CustomerId Product State1 1 Toaster 2 2 Toaster Alabama3 3 Toaste

3、r 4 4 Radio Alabama5 5 Radio 6 6 Radio Alabama#left join的效果 merge(df1, df2, all.y=TRUE)CustomerId Product State1 2 Toaster Alabama2 4 Radio Alabama3 6 Radio Alabama4 7 Ohio#right join的效果。在df1 和df2 有相同的列名称下 df1 df2 merge(df1, df2, all=TRUE)col1 col21 1 22 2 33 4 100#这个达到的是union的效果执行merge函数时,函数自动会找到两个

4、数据框df1和df2共有的列,即id那一列(即相当于by= id),当参数all= FALSE时,会将两个数据框中该列数值相等的那些行输出来,类似于对这两个数据框的id这一列求交集(intersection)。此例中是id为2或7这两行。此外,还可以发现df1和df2的输入顺序不会影响最终结果,仅仅会影响输出结果中heights和weights这两列的顺序。更详细可以参考http:/rstudio-pubs- - c(f, m, f, f, m)df2$sex - c(f, f, m, m, f, f, f)merge(df1, df2)# id sex heights weights# 1

5、2 f 62 113# 2 7 m 67 135merge(df1, df2, by = c(id, sex)# id sex heights weights# 1 2 f 62 113# 2 7 m 67 135merge(df1, df2, by = id)# id heights sex.x weights sex.y# 1 2 62 f 113 f# 2 7 67 m 135 m为两个数据框分别添加一列后,这样它们就有了共同的两列。当运行merge函数后发现,函数会自动找到共同的列,然后找到id和sex这两列中共有的数值。此外,如果只设定by= id的话,则两数据框中共有的sex那一列则会以sex.x和sex.y形式输出。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号