91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言中數據表匹配和拼接merge函數的使用方法

發布時間:2021-03-29 09:32:32 來源:億速云 閱讀:439 作者:小新 欄目:開發技術

小編給大家分享一下R語言中數據表匹配和拼接merge函數的使用方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

R中的merge函數類似于Excel中的Vlookup,可以實現對兩個數據表進行匹配和拼接的功能。

merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), incomparables = NULL, ...)

x,y:用于合并的兩個數據框

by,by.x,by.y:用于連接兩個數據集的列,intersect(a,b)值向量a,b的交集,names(x)指提取數據集x的列名 by = intersect(names(x), names(y)) 是獲取數據集x,y的列名后,提取其公共列名,作為兩個數據集的連接列, 當有多個公共列時,需用下標指出公共列,如names(x)[1],指定x數據集的第1列作為公共列 也可以直接寫為 by = ‘公共列名' ,前提是兩個數據集中都有該列名,并且大小寫完全一致,R語言區分大小寫

all,all.x,all.y:指定x和y的行是否應該全在輸出文件.

sort:by指定的列是否要排序.

suffixes:指定除by外相同列名的后綴.

incomparables:指定by中哪些單元不進行合并.

merge函數有4種匹配拼接模式,分別為inner,left,right和outer模式。 其中inner為默認的匹配模式。all=T代表全連接,all.x=T代表左聯結;all.y=T代表右連接

inner 模式匹配,只顯示兩個數據集公共列中均有的行

# 有多個公共列時,需指出使用哪一列作為連接列merge(x,y,by=intersect(names(x)[1],names(y)[1]))

# 當兩個數據集連接列名稱同時,直接用by.x,by.y 指定連接列merge(x,y,by.x ='name',by.y ='name')

# 當兩個數據集均有連接列時,直接指定連接列的名稱merge(x,y,by='name')

outer 模式,將兩張表的數據匯總,表中原來沒有的數據置為空

merge(x, y, all=TRUE, sort=TRUE)

# all = TRUE 表示選取x, y 數據集的所有行,sort = TRUE,表示按 by 列進行排序,默認升序

left 匹配模式

merge(x ,y,all.x=TRUE,sort=TRUE)

# 多個公共列 末指定連接列 ,左連接,設置 all.x = TRUE,結果只顯示數據x的列及x在y數據集中沒有的列

merge(x, y, by = 'name',all.x = TRUE, sort = TRUE) # 多個公共列 指定連接列指, 左連接,設置 all.x = TRUE,結果只顯示x所有names(x)[1]值

right 匹配模式

merge(x ,y ,by='name',all.y=TRUE,sort=TRUE)

# 多個公共列指定連接列# 左連接,設置all.y =TRUE,結果只顯示y所有names(y) [1] 值的記錄

補充:R語言subset和merge函數的使用

1、merge函數對數據框的操作

從兩個數據框中選擇出條件相等的行組合成一個新的數據框

df1=data.frame(name=c("aa","bb","cc"),age=c(20,29,30),sex=c("f","m","f"))
df2=data.frame(name=c("dd","bb","cc"),age=c(40,35,36),sex=c("f","m","f"))
mergedf=merge(df1,df2,by="name")

2、subset函數

從某一個數據框中選擇出符合某條件的數據或是相關的列

(1)單條件查詢

> selectresult=subset(df1,name=="aa")
> selectresult
 name age sex
1  aa 20  f
> df1
 name age sex
1  aa 20  f
2  bb 29  m
3  cc 30  f

(2)指定顯示列

> selectresult=subset(df1,name=="aa",select=c(age,sex))
> selectresult
 age sex
1 20  f

(3)多條件查詢

> selectresult=subset(df1,name=="aa" & sex=="f",select=c(age,sex))
> selectresult
 age sex
1 20  f
> df1
 name age sex
1  aa 20  f
2  bb 29  m
3  cc 30  f

以上是“R語言中數據表匹配和拼接merge函數的使用方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海林市| 城口县| 巍山| 繁昌县| 三穗县| 申扎县| 迁安市| 黔东| 常德市| 金湖县| 札达县| 乌拉特前旗| 荔浦县| 视频| 赤峰市| 郸城县| 宁夏| 乌兰察布市| 四川省| 阿瓦提县| 深泽县| 建湖县| 铜鼓县| 洪泽县| 闸北区| 如东县| 昔阳县| 新和县| 平安县| 南澳县| 乌兰察布市| 湘西| 红河县| 连平县| 阳原县| 定日县| 胶州市| 陇西县| 孝昌县| 彰化市| 缙云县|