R数据框合并(merge)的几种方式
2016-03-31 18:40
204 查看
merge data frames (inner, outer, left, right)
数据> df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3))) > df1 > CustomerId Product 1 1 Toaster 2 2 Toaster 3 3 Toaster 4 4 Radio 5 5 Radio 6 6 Radio > df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1))) > df > CustomerId State 1 2 Alabama 2 4 Alabama 3 6 Ohio
inner
> merge(x = df1, y = df2, by = "CustomerId", all = TRUE) > CustomerId Product State 1 1 Toaster <NA> 2 2 Toaster Alabama 3 3 Toaster <NA> 4 4 Radio Alabama 5 5 Radio <NA> 6 6 Radio Ohio
left
> merge(x = df1, y = df2, by = "CustomerId", all.x = TRUE) > CustomerId Product State 1 1 Toaster <NA> 2 2 Toaster Alabama 3 3 Toaster <NA> 4 4 Radio Alabama 5 5 Radio <NA> 6 6 Radio Ohio
right
> merge(x = df1, y = df2, by = "CustomerId", all.y = TRUE) > CustomerId Product State 1 2 Toaster Alabama 2 4 Radio Alabama 3 6 Radio Ohio
outer
> merge(x = df1, y = df2, by = NULL) > CustomerId.x Product CustomerId.y State 1 1 Toaster 2 Alabama 2 2 Toaster 2 Alabama 3 3 Toaster 2 Alabama 4 4 Radio 2 Alabama 5 5 Radio 2 Alabama 6 6 Radio 2 Alabama 7 1 Toaster 4 Alabama 8 2 Toaster 4 Alabama 9 3 Toaster 4 Alabama 10 4 Radio 4 Alabama 11 5 Radio 4 Alabama 12 6 Radio 4 Alabama 13 1 Toaster 6 Ohio 14 2 Toaster 6 Ohio 15 3 Toaster 6 Ohio 16 4 Radio 6 Ohio 17 5 Radio 6 Ohio 18 6 Radio 6 Ohio
相关文章推荐
- Intellij IDEA使用指南
- Aggregation is not enabled. Try the nodemanager at xingyunfei001.com.cn:50800
- java排序——选择、插入、冒泡、二分法
- 百度诉360案一审宣判索赔1亿判赔70万
- Problem K-1010
- CentOS7.2详细安装步骤(三)
- 【bzoj2734】【HNOI2012】【集合选数】【状压dp】
- XAPIAN简介(一)
- linux中vi的使用
- 大数据作协框架Oozie
- html5开发之viewport使用
- Bzoj2631:tree(伍一鸣):LCT
- Java的数组
- 分享一个好的钢琴论坛,可以查钢琴价格哦
- easyui tree 增加参数
- 在Eclipse中进行HotSpot的源码调试--转
- 代码重构(六):代码重构完整案例
- Git分布式版本控制学习
- JQuery选择器收藏
- HDU 1157 Who's in the Middle