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"

 

posted @ 2022-01-19 23:09  小鲨鱼2018  阅读(717)  评论(0编辑  收藏  举报