如何从R中的列表中子集唯一值?

我们知道R中的列表可以具有不同数据类型的多个元素,但它们也可以相同。无论我们具有相同类型的元素还是不同的元素,我们都可能希望使用唯一值对列表进行子集设置,尤其是在我们认为值必须相同的情况下。为此,我们可以使用独特的功能。

示例

请看以下列表-

x1<-sample(1:10,50,replace=TRUE)
x2<-rpois(50,5)
x3<-rpois(50,10)
x4<-rbinom(50,10,0.7)
List1<-list(x1,x2,x3,x4)
List1

输出结果

[[1]]
[1] 1 3 10 8 10 3 9 1 8 4 6 5 3 9 2 10 10 9 9 6 1 1 2 4 3
[26] 10 7 6 1 1 2 9 3 6 9 9 3 9 7 8 10 10 5 3 5 2 6 2 10 1
[[2]]
[1] 6 9 12 4 4 6 3 7 5 3 5 5 4 5 3 2 6 2 7 4 2 10 1 3 7
[26] 2 4 8 6 2 8 2 3 7 3 2 9 6 8 6 10 3 5 4 5 6 4 7 4 8
[[3]]
[1] 12 11 18 10 13 8 12 11 10 13 9 7 10 9 11 13 12 10 10 4 12 18 14 9 12
[26] 9 11 5 12 10 11 9 12 9 4 7 12 9 11 14 8 14 17 10 10 12 12 10 10 9
[[4]]
[1] 8 5 8 10 6 7 4 7 7 6 8 8 5 6 6 7 6 7 6 7 7 8 8 7 8
[26] 5 6 7 5 8 8 7 8 8 7 8 7 6 8 6 9 7 7 6 5 6 7 6 7 9

在列表List1中找到唯一元素-

示例

unique(unlist(List1,use.names=FALSE))

输出结果

[1] 1 3 10 8 9 4 6 5 2 7 12 11 18 13 14 17

让我们看另一个例子-

示例

a<-rpois(50,2)
b<-sample(1:20,50,replace=TRUE)
c<-sample(1:50,100,replace=TRUE)
d<-rpois(100,2)
e<-round(runif(100,2,5),0)
f<-round(rnorm(25),0)
g<-sample(1:5,100,replace=TRUE)
h<-sample(5:10,100,replace=TRUE)
i<-rnorm(20)
j<-rpois(100,50)
List2<-list(a,b,c,d,e,f,g,h,i,j)
List2

输出结果

[[1]]
[1] 5 3 2 3 2 3 0 2 1 2 0 4 1 3 2 2 2 1 4 2 2 4 2 4 2 4 2 2 3 4 2 0 1 1 2 1 3 2
[39] 0 2 3 1 4 2 0 2 0 1 0 3
[[2]]
[1] 10 19 10 15 4 14 4 9 20 1 12 13 4 12 4 5 15 6 7 18 9 6 1 7 4
[26] 19 13 5 20 6 16 4 17 7 9 8 1 17 2 16 14 8 9 10 14 10 1 18 4 11
[[3]]
[1] 12 24 45 8 41 13 11 35 17 43 8 21 36 18 2 31 3 44 17 22 41 36 48 18 21
[26] 12 22 39 45 14 17 36 41 19 27 17 21 49 12 27 21 47 14 37 44 21 38 46 40 42
[51] 41 45 41 1 48 37 34 14 1 13 41 47 4 43 26 36 9 45 47 31 33 9 14 47 46
[76] 47 33 11 27 6 28 31 24 17 36 10 23 16 14 6 18 29 37 6 11 42 38 15 20 29
[[4]]
[1] 0 1 1 2 4 8 4 2 2 2 1 1 1 4 0 2 1 0 4 2 2 1 1 3 4 2 5 2 1 1 2 5 1 3 0 2 1
[38] 3 3 1 2 3 0 1 0 1 5 4 1 4 0 3 4 0 0 5 2 0 6 1 7 3 3 3 1 6 0 0 1 2 1 2 2 3
[75] 3 2 3 0 2 2 1 1 0 4 3 4 2 1 1 1 1 2 0 1 4 0 1 5 1 1
[[5]]
[1] 5 2 4 5 5 3 4 4 4 5 4 4 4 2 4 3 4 2 2 3 3 3 5 4 5 3 4 4 3 4 5 4 2 3 3 4 3
[38] 4 5 3 2 2 2 3 4 3 4 4 5 2 2 3 3 3 3 4 2 4 3 3 4 3 3 5 3 2 4 4 3 3 3 3 5 3
[75] 2 3 3 3 5 3 4 5 4 3 3 4 3 3 3 2 3 4 2 4 4 2 5 5 3 4
[[6]]
[1] 0 -1 0 1 -1 0 1 1 0 1 0 1 1 0 -1 0 0 1 0 0 1 2 0 1 1
[[7]]
[1] 3 4 1 5 3 2 3 2 1 1 5 4 2 2 4 3 3 5 1 5 1 1 3 1 5 3 4 1 3 4 4 2 1 2 4 5 3
[38] 5 1 3 4 2 4 3 4 4 5 4 4 5 4 2 4 3 4 4 5 1 2 2 1 3 2 4 2 4 1 3 2 2 3 5 5 5
[75] 4 3 3 2 1 3 3 1 4 2 5 2 4 1 2 2 1 5 3 3 5 4 3 5 4 5
[[8]]
[1] 10 6 5 5 5 5 9 8 6 7 6 9 8 6 8 7 6 8 9 7 7 7 10 6 7
[26] 6 10 10 6 6 8 7 10 10 5 5 9 7 9 10 9 8 8 9 5 8 10 8 8 10
[51] 10 6 5 10 5 7 6 7 9 10 6 6 10 6 10 10 10 10 10 9 8 8 8 7 5
[76] 5 5 5 7 6 10 7 10 7 8 10 8 7 7 9 7 7 9 5 7 9 7 5 7 7
[[9]]
[1] -0.51557607 0.35591960 -0.41632268 -1.93573666 1.25093096 0.77053093
[7] 0.22564669 -1.15962836 -0.31592282 -0.81024610 -1.29726892 1.39639256
[13] -0.47600048 -0.15439720 -1.48831101 -0.71676607 0.87284911 -0.60246531
[19] -0.48863810 -0.09974965
[[10]]
[1] 57 50 42 60 59 55 43 46 46 42 39 65 51 52 46 56 43 38 56 45 56 32 50 48 59
[26] 44 42 50 36 56 51 43 48 56 50 42 44 47 39 40 46 52 33 56 49 50 46 50 54 52
[51] 51 45 39 64 51 41 54 56 57 47 59 47 43 54 60 58 61 57 46 39 50 53 65 48 50
[76] 55 47 48 55 42 54 45 42 59 45 45 48 54 54 53 45 48 53 37 60 46 45 52 48 45

示例

unique(unlist(List2,use.names=FALSE))

输出结果

[1] 5.00000000   3.00000000  2.00000000 0.00000000 1.00000000 4.00000000
[7] 10.00000000 19.00000000 15.00000000 14.00000000 9.00000000 20.00000000
[13] 12.00000000 13.00000000 6.00000000 7.00000000 18.00000000 16.00000000
[19] 17.00000000 8.00000000 11.00000000 24.00000000 45.00000000 41.00000000
[25] 35.00000000 43.00000000 21.00000000 36.00000000 31.00000000 44.00000000
[31] 22.00000000 48.00000000 39.00000000 27.00000000 49.00000000 47.00000000
[37] 37.00000000 38.00000000 46.00000000 40.00000000 42.00000000 34.00000000
[43] 26.00000000 33.00000000 28.00000000 23.00000000 29.00000000 -1.00000000
[49] -0.51557607 0.35591960 -0.41632268 -1.93573666 1.25093096 0.77053093
[55] 0.22564669 -1.15962836 -0.31592282 -0.81024610 -1.29726892 1.39639256
[61] -0.47600048 -0.15439720 -1.48831101 -0.71676607 0.87284911 -0.60246531
[67] -0.48863810 -0.09974965 57.00000000 50.00000000 60.00000000 59.00000000
[73] 55.00000000 65.00000000 51.00000000 52.00000000 56.00000000 32.00000000
[79] 54.00000000 64.00000000 58.00000000 61.00000000 53.00000000