- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to find the position of NA in an R vector?
When we have NA’s/missing values in an R vector then we want to replace those NA’s and for this purpose we might be needing the position of those values. These positions will be helpful especially in situations when we want to manually replace the missing values. The replacement can be done by using which function with is.na.
Example1
x1<−sample(c(NA,0,1),100,replace=TRUE) x1
Output
[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
Example
which(is.na(x1))
Output
[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
Example2
x2<−sample(c(NA,0:9),150,replace=TRUE) x2
Output
[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
Example
which(is.na(x2))
Output
[1] 5 8 22 41 63 79 85 92 98 105 133
Example3
x3<−sample(c(NA,10,99),150,replace=TRUE) x3
Output
[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
Example
which(is.na(x3))
Output
which(is.na(x3))
Example4
x4<−sample(c(NA,rnorm(5)),80,replace=TRUE) x4
Output
[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
Example
which(is.na(x4))
Output
[1] 1 3 7 8 12 18 23 25 38 39 46 48 56
Example5
x5<−sample(c(NA,rnorm(5,25,3.1)),80,replace=TRUE) x5
Output
[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
Example
which(is.na(x5))
Example6
x6<−sample(c(NA,rpois(10,5)),150,replace=TRUE) x6
Output
[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
Example
which(is.na(x6))
Output
[1] 5 9 48 58 78 83 91 94 96 99 104 112 118 124
Example7
x7<−sample(c(NA,rexp(10,2.01)),80,replace=TRUE) x7
Output
[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
Example
which(is.na(x7))
Output
[1] 7 8 18 59 61 62 66
Example8
x8<−sample(c(NA,rnorm(10,1,0.25)),80,replace=TRUE) x8
Output
[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
Example
which(is.na(x8))
Output
[1] 28 45 50 52 57 59 76
- Related Articles
- How to find the position of a non-NA value in an R vector?
- How to find the position of odd numbers in an R vector?
- How to find the row and column position of a value as vector in an R matrix?
- How to find the cumulative sums if a vector contains NA values in R?
- How to convert NA’s in sequence to a single NA in an R vector?
- How to find the starting position for consecutive values given the length of consecutive values in an R vector?
- How to check whether a vector contains an NA value or not in R?
- How to find the number of distinct values in an R vector?
- How to find the number of positive values in an R vector?
- How to find the index of an element in a vector in R?
- How to find the position of one or more values in a vector into another vector that contains same values in R?
- How to find the n number of largest values in an R vector?
- How to find the mean of every n values in an R vector?
- How to find the position of minimum value in a vector that contains integers as strings in R?
- How to find the frequency of NA values per row in an R data frame?

Advertisements