如何在R向量中找到NA的位置?

当我们在 R 向量中有 NA 值/缺失值时,我们想要替换那些 NA 值,为此我们可能需要这些值的位置。这些位置在我们想要手动替换缺失值的情况下尤其有用。替换可以通过在 is.na 中使用 which 函数来完成。

示例 1

x1<−sample(c(NA,0,1),100,replace=TRUE)

x1

输出结果
[1] NA NA 1 0 1 0 1 0 0 1 NA 1 NA NA 0 NA 1 0 NA 1 1 1 0 NA 0

[26] 1 NA NA NA 0 1 NA 1 0 1 NA 0 0 1 0 1 NA 1 0 1 0 0 NA 1 1

[51] 0 0 NA 0 0 1 1 NA 1 1 1 0 0 1 1 1 0 0 0 0 NA 1 NA NA NA

[76] NA 1 0 NA NA 1 1 NA 0 NA 1 1 0 0 NA 1 NA 0 NA NA 0 1 NA 0 NA

示例

which(is.na(x1))
输出结果
[1] 1 2 11 13 14 16 19 24 27 28 29 32 36 42 48 53 58 71 73

[20] 74 75 76 79 80 83 85 90 92 94 95 98 100

例2

x2<−sample(c(NA,0:9),150,replace=TRUE)

x2

输出结果
[1] 6 4 4 1 NA 5 1 NA 9 7 5 5 7 5 2 1 2 4 3 9 5 NA 0 1 9

[26] 1 6 7 1 8 8 1 4 7 1 3 2 6 4 9 NA 4 3 8 7 1 0 6 7 8

[51] 6 4 6 6 6 8 3 6 3 9 4 4 NA 9 0 6 8 7 1 0 9 0 3 3 8

[76] 5 1 3 NA 4 5 6 7 9 NA 0 6 3 9 9 5 NA 1 7 3 4 5 NA 2 8

[101] 4 9 5 2 NA 6 9 0 4 5 3 6 5 0 3 8 8 4 5 9 5 1 4 4 2

[126] 2 5 6 2 8 9 2 NA 1 2 1 9 1 7 4 0 8 8 0 8 1 7 3 6 9

示例

which(is.na(x2))
输出结果
[1] 5 8 22 41 63 79 85 92 98 105 133

例3

x3<−sample(c(NA,10,99),150,replace=TRUE)

x3

输出结果
[1] 99 99 10 10 NA 99 10 99 NA NA 99 NA NA 99 NA 99 99 10 10 99 NA 10 NA 99 10

[26] NA NA NA NA NA 10 10 99 10 10 10 99 99 10 10 99 99 NA 10 NA NA 10 10 99 99

[51] 99 NA 99 99 99 99 NA 99 NA NA NA 99 NA 99 99 99 99 99 10 10 99 10 NA NA 10

[76] 10 99 10 99 NA NA 10 99 10 99 NA 10 99 NA 99 10 99 99 NA NA 10 10 99 NA 10

[101] 99 NA NA 99 NA 10 99 99 10 NA 99 10 NA NA 10 NA 10 NA 10 99 NA 99 NA NA 10

[126] 10 NA 10 NA 99 NA 99 NA NA 10 10 10 99 NA 99 10 10 NA NA 10 99 NA 10 10 99

示例

which(is.na(x3))
输出结果
which(is.na(x3))

例4

x4<−sample(c(NA,rnorm(5)),80,replace=TRUE)

x4

输出结果
[1]  NA 0.4902959 NA -0.1427441 -0.0157058 0.3530351

[7]  NA    NA −0.0157058 −0.1427441 −0.0157058  NA

[13] −0.1427441 −0.1427441 −0.0157058 0.4902959 0.3530351 NA

[19] 0.4902959 0.3530351 0.3530351 0.4902959 NA 0.2005032

[25] NA −0.0157058 0.3530351 0.2005032 −0.1427441 −0.1427441

[31] 0.2005032 −0.0157058 0.4902959 0.2005032 −0.0157058 −0.1427441

[37] 0.4902959 NA NA 0.4902959 −0.0157058 −0.1427441

[43] 0.3530351 −0.1427441 −0.1427441 NA 0.4902959 NA

[49] 0.3530351 0.3530351 0.4902959 0.2005032 0.3530351 −0.0157058

[55] 0.2005032 NA 0.4902959 −0.0157058 0.3530351 0.3530351

[61] 0.2005032 0.3530351 0.4902959 0.4902959 −0.0157058 0.4902959

[67] −0.0157058 0.4902959 −0.1427441 −0.1427441 −0.1427441 −0.1427441

[73] 0.4902959 0.4902959 0.2005032 0.3530351 0.4902959 −0.1427441

[79] 0.4902959 0.4902959

示例

which(is.na(x4))
输出结果
[1] 1 3 7 8 12 18 23 25 38 39 46 48 56

例5

x5<−sample(c(NA,rnorm(5,25,3.1)),80,replace=TRUE)

x5

输出结果
[1] NA 20.85061 23.28236 27.07661 23.92421 26.08445 26.08445 27.07661

[9] NA 26.08445 26.08445 26.08445 23.92421 23.28236 27.07661 27.07661

[17] NA NA 26.08445 23.28236 26.08445 23.28236 27.07661 23.92421

[25] NA NA 20.85061 NA 26.08445 23.28236 NA NA

[33] 23.92421 27.07661 23.28236 23.28236 20.85061 23.28236 23.92421 27.07661

[41] 20.85061 27.07661 23.28236 23.92421 NA NA 23.28236 23.28236

[49] 23.92421 26.08445 NA NA NA 23.92421 20.85061 27.07661

[57] 23.28236 23.28236 20.85061 23.28236 27.07661 NA 20.85061 27.07661

[65] 20.85061 NA 20.85061 23.28236 20.85061 23.92421 27.07661 26.08445

[73] 27.07661 23.92421 27.07661 20.85061 26.08445 26.08445 23.28236 20.85061

示例

which(is.na(x5))

例6

x6<−sample(c(NA,rpois(10,5)),150,replace=TRUE)

x6

输出结果
[1] 6 5 4 6 NA 4 3 4 NA 6 6 3 3 5 9 3 6 3 3 4 4 6 6 4 6

[26] 5 6 6 6 5 4 9 6 4 4 3 6 3 9 3 6 4 9 6 4 6 4 NA 6 6

[51] 6 6 3 6 6 3 4 NA 6 4 4 4 6 6 4 6 6 4 6 5 6 6 4 6 3

[76] 5 4 NA 6 3 6 5 NA 5 4 5 4 9 6 5 NA 4 6 NA 5 NA 3 6 NA 3

[101] 3 6 6 NA 6 6 4 4 4 3 9 NA 9 3 4 4 5 NA 6 6 3 4 6 NA 6

[126] 3 4 6 3 3 6 3 4 5 4 4 6 4 3 3 4 5 5 4 3 4 5 6 9 3

示例

which(is.na(x6))
输出结果
[1] 5 9 48 58 78 83 91 94 96 99 104 112 118 124

例7

x7<−sample(c(NA,rexp(10,2.01)),80,replace=TRUE)

x7

输出结果
[1] 0.07553376 0.42805544 0.07934303 2.82645498 0.07553376 0.07934303

[7] NA NA 0.42805544 0.39840736 0.07553376 0.13041258

[13] 0.42805544 0.13041258 0.68973943 0.13041258 0.89757427 NA

[19] 0.07934303 0.68973943 0.89757427 0.13041258 0.07934303 0.06858492

[25] 0.13041258 0.89757427 0.13041258 0.68973943 0.39840736 2.82645498

[31] 0.13041258 0.06858492 0.72781631 0.89757427 0.13041258 0.39840736

[37] 0.42805544 0.42805544 0.07553376 0.72781631 0.13041258 0.39840736

[43] 0.68973943 0.72781631 0.07553376 0.13041258 0.42805544 0.13041258

[49] 2.82645498 0.72781631 0.42805544 0.13041258 0.06858492 0.39840736

[55] 0.39840736 0.07934303 0.06858492 2.82645498 NA 0.07934303

[61] NA NA 0.07934303 0.42805544 0.72781631 NA

[67] 0.39840736 0.06858492 0.89757427 0.42805544 0.72781631 0.68973943

[73] 0.07553376 0.06858492 0.13041258 0.42805544 0.13041258 2.82645498

[79] 0.13041258 0.07934303

示例

which(is.na(x7))
输出结果
[1] 7 8 18 59 61 62 66

例8

x8<−sample(c(NA,rnorm(10,1,0.25)),80,replace=TRUE)

x8

输出结果
[1] 0.9030808 0.8823065 0.6860899 0.5996056 0.7197702 0.6860899 0.6860899

[8] 0.6860899 0.9454482 0.5708919 0.5708919 0.8432231 0.6860899 0.9030808

[15] 0.9030808 0.9030808 0.4306264 0.8823065 0.5996056 0.7197702 0.9454482

[22] 0.6860899 0.8432231 0.4306264 0.9810333 0.7197702 0.5708919 NA

[29] 0.9810333 0.9454482 0.7197702 0.9454482 0.9454482 0.7197702 0.4306264

[36] 0.8823065 0.6860899 0.7197702 0.9454482 0.6860899 0.5708919 0.9454482

[43] 0.6860899 0.9030808 NA 0.9030808 0.4306264 0.8432231 0.6860899

[50] NA 0.9030808 NA 0.9810333 0.9454482 0.7197702 0.8432231

[57] NA 0.5708919 NA 0.8823065 0.4306264 0.9810333 0.8432231

[64] 0.8823065 0.5996056 0.8432231 0.5996056 0.8823065 0.7197702 0.5996056

[71] 0.5996056 0.9454482 0.4306264 0.4306264 0.4306264 NA 0.9810333

[78] 0.8823065 0.9454482 0.9454482

示例

which(is.na(x8))
输出结果
[1] 28 45 50 52 57 59 76

以上是 如何在R向量中找到NA的位置? 的全部内容, 来源链接: utcz.com/z/349186.html

回到顶部