R语言中setdiff函数取两个比较数据之一的特有值
1、
> dat1 <- 1:8 > dat2 <- 3:10 > setdiff(dat1, dat2) ## 取数据dat1中的唯一项 [1] 1 2 > setdiff(dat2, dat1) ## 取数据dat2中的唯一项 [1] 9 10
2、如果有重复
> dat1 <- c(2, 1, 1, 3, 4, 2, 8, 3, 4, 5) > dat2 <- c(2, 8, 3, 4, 9, 7, 9, 10, 7, 9) > setdiff(dat1, dat2) ## 能够自动去重复 [1] 1 5 > setdiff(dat2, dat1) [1] 9 7 10
3、字符串的 情况
> dat1 <- letters[1:8] > dat1 [1] "a" "b" "c" "d" "e" "f" "g" "h" > dat2 <- letters[3:10] > dat2 [1] "c" "d" "e" "f" "g" "h" "i" "j" > setdiff(dat1, dat2) ## 适用于字符串 [1] "a" "b" > setdiff(dat2, dat1) [1] "i" "j"
4、
> dat1 <- c("a", "b", "a", "c", "c", "c", "x", "m", "n") > dat2 <- c("d", "a", "q", "q", "m", "m", "p") > setdiff(dat1, dat2) ## 自动去重复 [1] "b" "c" "x" "n" > setdiff(dat2, dat1) [1] "d" "q" "p"
5、字符串和数字
> dat1 <- c(1, 1, 3, 3, 2, 2, 4, 5, 5, 7) > dat2 <- c("5", "9", "6", "3", "10", "6") > setdiff(dat1, dat2) ## 适用与字符串和数值的比较 [1] 1 2 4 7 > setdiff(dat2, dat1) [1] "9" "6" "10"