1. 程式人生 > >R資料框合併(merge)的幾種方式

R資料框合併(merge)的幾種方式

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

相關推薦

R資料合併(merge)的方式

merge data frames (inner, outer, left, right) 資料 > df1 = data.frame(CustomerId = c(1:6), Pro

git merge 方式對的區別?

--no-ff指的是強行關閉fast-forward方式。 fast-forward方式就是當條件允許的時候,git直接把HEAD指標指向合併分支的頭,完成合並。屬於“快進方式”,不過這種情況如果刪除分支,則會丟失分支資訊。因為在這個過程中沒有建立commit git m

Hive資料匯入匯出的方式

一,Hive資料匯入的幾種方式 首先列出講述下面幾種匯入方式的資料和hive表。 Hive表: 建立testA: CREATE TABLE testA ( id INT, name string, area string ) PARTITIONED BY (crea

springMVC返回資料到頁面的方式

Spring MVC返回資料到頁面有幾種不同的方式,它們各自適用的情況也不同,下面簡單總結一下。 對於每種方式都給出Controller中的相應方法。 首先還是頁面user_add.jsp。它既是發

【Nagios】【運維】Nagios 快速實現資料視覺化的方式->統計圖

  本文就介紹以下幾種快速實現 Nagio 資料視覺化的軟體,以及它們的安裝配置方式和展示效果圖。   Pnp4nagios,Rrdtools   Pnp4nagios 利用 rrdtool 工具將 Nagios 採集的資料繪製成相關的圖表,而 rrdtool 的安裝需要一系列繁雜的依賴關係。 先

Objective-C遍歷資料方式

遍歷的幾種方式: 1、通過索引,如通過陣列下標來遍歷陣列 -objectAtIndex() 2、使用NSEnumerator容器來存放資料項,通過nextObject來獲取下一個資料 3、使用快速列舉(os x10.5以後) 4、最新的程式碼塊方法(os x 10.5以後)

js中檢測資料型別的方式

1、typeof 一元運算子,用來檢測資料型別。只可以檢測number,string,boolean,object,function,undefined。 對於基本資料型別是沒有問題的,但是遇到引用資料型別是不起作用的(無法細分物件)

WPFの操作檔案瀏覽方式

原文: WPFの操作檔案瀏覽框幾種方式 方式1: 使用win32控制元件OpenFileDialog Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.DefaultExt

struts2資料處理的方式

package com.loaderman.c_data; import java.util.Map; import javax.servlet.ServletContext; import com.opensymphony.xwork2.ActionContext; import

react之傳遞資料方式props傳值、路由傳值、狀態提升、redux、context

react之傳遞資料的幾種方式 1、父子傳值 父傳值:<子的標籤 value={'aaa'} index={'bbb'}></子的標籤> 子接值:<li key={this.props.index}>{this.props.value}</li>

time 模組處理時間資料格式的方式

time 模組中處理時間資料格式的幾種方式 在 time 模組中,時間資料主要有三種格式:時間戳(timeStamp)、時間陣列(timeStruct)和時間字串(timeStr)。形式如下圖所示: 對於這三種格式的資料,時間戳與時間陣列之間可以互相轉換,時間陣列和時間字串之間可以互相

Spring Boot統一格式返回資料方式

  有些時候呢,我們需要統一格式進行返回,之前可能會定義某個實體類在每個方法的響應都是用這個實體類然後包含響應值,其實spring呢,可以有挺多種無侵入的統一包裝方法。   第一種: @RestControllerAdvice public class ResponseHandler impleme

ElasticSearch搜尋資料到底有方式?

Elasticsearch允許三種方式執行搜尋請求: GET請求正文: curl -XGET "http://localhost:9200/app/users/_search" -d '{ "query": { "term": { "email": "[email prote

前端mock資料方式

方式 備註 本地php服務架設 直接輸出json 使用線上mock服務 如easyMock、apizza、Rap1\2 , 可以遠端協作  本地node服務:koa+mongodb

Vue.js學習筆記——請求資料方式(v-resource,axios)

一、 v-resource 1. 在搭建好腳手架之後,安裝v-resource ——npm/cnpm install v-resource --save 2. 在main.js中進行註冊               import VueResource from 'vu

檢測資料型別的方式

javascript中有六種資料型別:string;boolean;Array;Object;null;undefined。如何檢測這些資料型別呢,總結方法如下: 方法一:採用typeof var fn = function(n){ console.log(n)

spring mvc中接收表單提交的資料方式

spring mvc封裝資料的物件有session、request、ModelAndView、ModelMap、Model、Map Map map,Model model,ModelMap mmap,ModelAndView mav,HttpServletRequest r

SAS中資料輸入和輸出的方式

1.按列輸入: input 變數名 <$> <起始位置> <-結束位置> data score; /*建立關於成績的資料集*/ input name $ 1-10 math 11-12 chinese 17-18 english 26-27; /*對每個變數,按列輸入資料*

關於請求資料方式!!

一、ajax請求 <script> // ajax傳送的GET請求 $.ajax({ type: "GET", url: "test.js", da

表單向伺服器提交資料方式?這些方式有什麼區別?

將表單資料傳送給伺服器的常用方式有兩種:Get和Post。 瀏覽器傳送給伺服器的HTTP請求分為:請求頭(header)和請求主體(body)兩部分。 其中,必須包含頭部分,用於指定傳送請求的方式、