R語言常用函式:交集intersect、並集union、找不同setdiff、判斷相同setequal
阿新 • • 發佈:2019-02-09
在R語言進行資料分析時,經常需要找不同組間的相同和不同,那你應該掌握如下幾個函式,讓你事半功倍。
交集intersect
兩個向量的交集,集合可以是數字、字串等
# 兩個數值向量取交集
intersect(x=1:4, y = 2:6)
# [1] 2 3 4
# 兩個字元向量取交集
intersect(x=letters[1:4], y = letters[2:6])
# [1] "b" "c" "d"
# 混合向量
intersect(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
[1] "a" "4"
並集union
求兩個向量的並集,集合可以是任何數值型別
# 兩個數值向量取並集
union(x=1:4, y = 2:6)
# [1] 1 2 3 4 5 6
# 兩個字元向量取並集
union(x=letters[1:4], y = letters[2:6])
# [1] "a" "b" "c" "d" "e" "f"
# 混合向量
union(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
[1] "a" "b" "c" "4" "2" "3"
找不同setdiff
求向量x與向量y中不同的元素(只取x中不同的元素)
setdiff(x, y)
x = 1:4 y = 2:6 # 找x中不同於y的元素 setdiff(x, y) # [1] 1 # 找y中不同於x的元素 setdiff(y, x) # [1] 5 6
判斷相同setequal
x = 1:4
y = 2:6
# 判斷x與y是否相同,結果為假
setequal(x, y)
# [1] FALSE
# 找y與x是否相同,結果為假
setequal(y, x)
# [1] FALSE
# 只有完全相同的才返回TRUE
y = 1:4
setequal(x, y)
# [1] TRUE
猜你喜歡
寫在後面
為鼓勵讀者交流、快速解決科研困難,我們建立了“巨集基因組”專業討論群,目前己有國內外1500+ 一線科研人員加入。參與討論,獲得專業解答,歡迎分享此文至朋友圈,並掃碼加主編好友帶你入群,務必備註“姓名-單位-研究方向-職稱/年級”。技術問題尋求幫助,首先閱讀 《如何優雅的提問》學習解決問題思路,仍末解決群內討論,問題不私聊,幫助同行。
學習擴增子、巨集基因組科研思路和分析實戰,關注“巨集基因組”