如何在 R 中通过排除缺失值来查找向量中唯一值的个数?
如果 R 向量中存在缺失值,则它会被计为向量中的唯一值,因此无法直接提取唯一值。为此,我们需要使用 unique 和 na.omit 函数。例如,如果我们有一个名为 x 的包含缺失值的向量,则可以按以下方式提取唯一值:length(unique(na.omit(x)))。
示例 1
x1<−sample(c(NA,rpois(5,1)),200,replace=TRUE) x1
输出
[1] 0 0 1 1 1 NA NA 0 1 1 0 NA 1 0 0 NA 0 0 NA 1 0 0 0 1 1 [26] 0 0 0 0 0 NA 1 0 1 NA 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 [51] 1 NA 1 0 0 NA NA 0 0 0 1 NA 0 0 1 NA 1 1 0 1 NA 0 0 1 NA [76] 1 NA 1 0 NA 1 NA 0 0 1 0 0 NA 1 0 1 0 1 0 1 1 0 0 0 0 [101] 0 0 1 1 0 1 0 NA 0 NA 0 0 0 1 0 0 0 0 NA NA NA 0 1 0 0 [126] 1 0 1 0 0 0 0 1 0 1 0 0 NA 1 1 1 0 0 0 0 1 1 0 NA 0 [151] 0 NA 1 0 0 0 1 1 0 NA 1 1 0 0 1 0 0 NA 0 0 1 0 0 0 1 [176] 1 1 0 NA NA 0 1 1 NA 0 NA 0 1 1 0 0 1 0 1 0 NA 1 1 1 0
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
示例
length(unique(na.omit(x1)))
输出
[1] 2
示例 2
x2<−sample(c(NA,0,1,2),200,replace=TRUE) x2
输出
[1] NA 0 0 NA 0 0 0 NA 2 1 2 0 0 NA 2 1 1 0 NA 2 2 NA 2 NA 1 [26] 1 2 1 1 1 2 0 2 0 0 0 1 NA NA 1 1 2 1 0 1 0 NA 0 0 1 [51] NA NA 0 0 0 0 NA 2 0 NA 0 2 0 NA 0 NA NA 2 0 0 0 NA 2 NA 1 [76] NA 2 0 1 2 0 2 NA 2 NA NA 1 1 0 NA 2 NA 0 0 NA NA 0 NA 1 NA [101] 2 2 2 1 NA 1 1 2 0 1 2 2 2 2 1 0 2 NA 1 NA 1 1 NA 0 NA [126] 0 NA 1 NA 2 NA 1 NA NA 2 NA 2 0 1 2 1 0 1 1 0 NA NA 1 0 1 [151] NA 0 0 2 NA NA 2 NA NA 1 NA 2 0 NA 1 NA 0 NA 0 0 2 1 0 NA 2 [176] 1 0 2 1 1 1 0 0 0 NA NA NA 0 0 NA 1 0 NA NA NA NA 1 NA 0 2
示例
length(unique(na.omit(x2)))
输出
[1] 3
示例 3
x3<−sample(c(NA,0:9),200,replace=TRUE) x3
输出
[1] NA NA 8 4 1 8 8 4 0 6 5 1 8 2 7 2 2 1 7 8 3 9 0 8 9 [26] 6 4 5 NA NA 2 1 1 3 1 8 6 7 1 5 9 5 8 9 1 5 5 3 1 2 [51] NA 6 3 9 NA 4 3 NA NA 9 4 NA 8 6 1 7 3 9 3 4 5 1 8 6 1 [76] 9 7 4 8 7 9 7 1 9 NA 5 6 8 NA 6 8 6 9 8 6 0 8 9 1 1 [101] 0 4 7 6 4 8 2 5 2 7 9 4 3 8 3 7 2 2 6 6 NA 0 8 2 4 [126] 2 6 NA NA 2 5 2 7 6 8 4 7 7 7 5 0 8 1 4 2 5 9 8 4 4 [151] 9 1 3 9 3 1 6 8 7 6 3 0 2 NA 6 1 0 2 3 0 2 NA 9 0 2 [176] 8 5 5 0 2 5 8 4 6 3 9 0 2 7 8 4 4 NA 5 8 NA NA NA 4 0
示例
length(unique(na.omit(x3)))
输出
[1] 10
示例 4
x4<−sample(c(NA,1:10),200,replace=TRUE) x4
输出
[1] 1 NA NA 5 8 10 1 2 9 1 8 9 4 9 2 6 1 NA 9 5 8 3 4 10 7 [26] 5 5 6 2 4 8 7 9 2 7 3 8 10 7 8 3 5 5 7 6 4 4 7 5 7 [51] 9 8 5 6 6 4 5 5 5 2 10 7 7 NA 3 5 5 1 5 1 2 2 4 9 7 [76] 1 3 8 7 NA 10 2 4 7 10 6 6 7 4 10 3 10 3 2 4 NA 7 10 8 7 [101] 10 10 6 1 NA 9 1 6 NA 4 1 5 10 10 6 NA 10 NA 2 5 2 5 2 10 10 [126] 6 7 4 2 4 7 6 10 4 5 10 1 5 4 8 6 6 6 1 10 10 8 7 2 NA [151] 3 9 5 1 10 1 4 5 8 7 4 2 10 10 6 5 8 NA 8 6 9 4 2 NA NA [176] NA 7 NA 1 1 5 8 8 5 9 2 NA 2 2 8 2 4 4 6 4 9 10 8 3 NA
示例
length(unique(na.omit(x4)))
输出
[1] 10
示例 5
x5<−sample(c(NA,5,10,15,20,25),200,replace=TRUE) x5
输出
[1] 5 5 15 5 15 10 15 15 20 15 5 10 25 5 NA NA 20 25 10 NA NA 20 10 10 15 [26] 10 NA 25 10 25 5 15 NA 15 NA 15 15 5 10 5 5 NA 15 NA 10 5 10 NA NA NA [51] 25 5 10 NA 10 10 15 20 20 5 25 20 20 20 25 20 15 NA 10 5 15 15 10 5 5 [76] 5 NA 25 5 10 20 NA 25 10 20 20 NA NA 10 5 25 25 20 25 15 10 NA 25 5 15 [101] 25 NA 25 NA 5 NA 10 5 25 25 NA 15 20 5 20 5 15 15 NA 25 25 5 20 25 NA [126] 25 20 5 25 5 15 25 10 15 NA 10 NA 15 25 15 25 NA NA 15 25 NA 25 25 NA 20 [151] NA NA 20 5 25 20 15 25 10 20 5 10 NA 25 25 NA 5 15 25 20 10 15 NA 5 5 [176] 10 NA 5 10 10 5 25 NA 5 5 10 10 5 20 10 20 NA 25 5 5 10 25 20 25 20
输出
length(unique(na.omit(x5)))
输出
[1] 5
示例 6
x6<−sample(c(NA,rnorm(5)),80,replace=TRUE) x6
输出
[1] −2.4891929 −2.4891929 −0.1627979 −1.8763364 −0.6250307 NA [7] −0.1627979 NA −0.1627979 NA −0.6250307 −0.6250307 [13] −2.4891929 −0.1627979 −2.4891929 NA NA −2.4891929 [19] −2.4891929 −0.1627979 −2.4891929 −0.6250307 −1.8763364 −1.8763364 [25] −1.8763364 −2.4891929 −2.4891929 −2.4891929 −2.4891929 −1.8763364 [31] −2.4891929 NA −0.6250307 NA −1.8763364 −0.1627979 [37] −2.4891929 −0.6250307 −2.4891929 −0.6250307 −1.8763364 −1.8763364 [43] NA −2.4891929 −0.6250307 −0.6250307 −0.6250307 −0.6250307 [49] −0.1627979 −0.6250307 −0.6250307 −2.4891929 −1.8763364 NA [55] −2.4891929 −0.1627979 −0.2147164 −1.8763364 −2.4891929 −1.8763364 [61] −0.2147164 −1.8763364 −2.4891929 −0.6250307 −0.6250307 −0.6250307 [67] −0.1627979 −0.6250307 −2.4891929 −2.4891929 −0.6250307 −0.2147164 [73] −2.4891929 −0.1627979 −0.1627979 −0.2147164 −0.2147164 −0.6250307 [79] −2.4891929 −0.6250307
示例
length(unique(na.omit(x6)))
输出
[1] 5
广告