1. 程式人生 > >R語言常用函式:交集intersect、並集union、找不同setdiff、判斷相同setequal

R語言常用函式:交集intersect、並集union、找不同setdiff、判斷相同setequal

在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+ 一線科研人員加入。參與討論,獲得專業解答,歡迎分享此文至朋友圈,並掃碼加主編好友帶你入群,務必備註“姓名-單位-研究方向-職稱/年級”。技術問題尋求幫助,首先閱讀

《如何優雅的提問》學習解決問題思路,仍末解決群內討論,問題不私聊,幫助同行。
image

學習擴增子、巨集基因組科研思路和分析實戰,關注“巨集基因組”
image