1、測試數值
> dat1 <- 1:8 > dat2 <- 3:10 > intersect(dat1, dat2) ## 直接取兩個數值型的交集 [1] 3 4 5 6 7 8
2、數值有重復的情況
> dat1 <- c(2, 3, 2, 4, 5, 3, 6, 3, 4, 8) > dat2 <- c(7, 3, 4, 9, 2, 10, 5) > intersect(dat1, dat2) ## intersect可以直接去重復 [1] 2 3 4 5 > intersect(dat2, dat1) ## 交換兩個數據的位置,輸出的順序有差異, 但是結果一致 [1] 3 4 2 5
3、字符串的情況
> dat1 <- c("x", "a", "b", "b", "a", "d","c", "f", "d") > dat2 <- c("c", "b","b", "g", "y", "d", "d", "m") > intersect(dat1, dat2) ## 對字符串同樣適用 [1] "b" "d" "c" > intersect(dat2, dat1) [1] "c" "b" "d"
4、數值和字符串之間的比較
> dat1 <- c(3, 5, 1, 2,2, 3, 3, 7, 5, 8, 3) > dat2 <- c("2", "3", "9", "5", "6", "1", "10", "1") > class(dat1) [1] "numeric" > class(dat2) [1] "character" > intersect(dat1, dat2) ## intersect函數可以實現字符串與數字的比較, 而且返回值的屬性與兩個比較數據的位置有關,輸出數據類型為第二個數據的屬性 [1] "3" "5" "1" "2" > intersect(dat2, dat1) [1] 2 3 5 1