How to find the position of one or more values in a vector into another vector that contains same values in R?

R ProgrammingServer Side ProgrammingProgramming

Finding the position of one of more values that are common in two vectors can be easily done with the help of match function. The match function will match the values in first and second vector then return the index or position of these common values in second vector.

Example

 Live Demo

set.seed(145)
x1<-0:5
y1<-10:0
match(x1,y1)

Output

[1] 11 10 9 8 7 6

Example

 Live Demo

x2<-sample(0:9,100,replace=TRUE)
x2

Output

[1] 9 9 0 5 1 7 3 4 2 4 0 8 0 2 3 2 4 3 2 0 9 2 3 4 6 2 7 9 1 0 8 6 4 1 7 7 4
[38] 8 6 6 4 4 0 0 0 7 4 2 0 3 8 8 0 3 7 2 1 7 7 9 7 7 1 6 7 6 5 5 7 7 4 3 8 5
[75] 0 2 1 5 3 0 2 7 2 5 5 2 5 5 2 9 2 3 6 8 0 1 7 0 6 7

Example

 Live Demo

y2<-sample(6:9,100,replace=TRUE)
y2

Output

[1] 8 7 7 7 8 7 6 6 9 6 6 7 7 9 9 8 6 9 7 7 7 6 6 6 8 9 6 7 6 7 6 7 7 9 6 9 8
[38] 7 8 6 6 6 8 6 8 7 7 6 6 6 9 9 6 9 7 9 6 9 7 8 9 7 9 9 6 7 8 8 8 7 6 7 8 8
[75] 9 9 6 9 6 8 6 8 9 7 8 7 8 9 8 7 8 8 7 9 8 7 6 6 9 6

Example

match(x2,y2)

Output

[1] 8 3 3 NA NA NA NA NA NA NA NA NA NA 1 NA 3 NA 3 NA NA NA 1 NA NA 1
 [26] NA NA 2 NA 8 NA NA 8 NA NA 3 NA 8 2 NA NA NA NA NA 8 NA NA NA 8 1
[51] NA 1 NA NA NA NA NA NA NA NA 2 2 NA NA 8 8 1 NA 8 NA 8 1 8 2 NA
[76] NA NA NA NA NA NA NA 8 8 NA 1 8 NA NA 3 3 NA NA NA 3 NA NA 8 NA NA

Example

 Live Demo

x3<-sample(21:50,100,replace=TRUE)
x3

Output

[1] 28 30 33 32 47 26 43 42 27 32 35 31 37 26 46 49 27 44 39 49 42 43 31 33 24
[26] 45 50 50 23 30 23 48 27 29 45 39 27 27 45 49 41 27 47 39 47 42 21 40 50 50
[51] 30 29 45 25 47 34 26 31 30 41 34 44 25 47 23 45 48 43 44 47 24 47 21 43 44
[76] 43 36 39 44 22 28 49 28 34 30 37 50 25 25 46 43 44 30 32 37 45 23 43 48 48

Example

 Live Demo

y3<-sample(10:50,100,replace=TRUE)
y3

Output

[1] 29 14 49 34 45 13 15 44 35 36 37 41 37 38 37 41 37 39 29 33 31 39 35 28 12
[26] 32 21 14 42 45 13 38 18 33 33 24 48 17 47 24 19 10 39 33 41 39 49 27 28 27
[51] 31 20 31 18 17 45 49 17 11 14 45 18 21 42 50 41 50 22 33 15 36 20 44 10 39
[76] 23 21 41 15 16 20 48 47 40 16 48 23 33 47 43 13 23 38 11 33 41 45 21 18 29

Example

match(x3,y3)

Output

[1] 62 48 68 62 49 55 8 14 1 8 1 93 46 2 22 23 19 48 41 6 13 14 28 55 85
[26] 9 21 9 13 55 8 88 66 41 6 62 33 33 46 23 62 13 14 12 33 27 33 21 55 12
[51] 23 12 15 47 9 48 21 23 48 85 15 47 2 1 15 19 41 93 28 46 48 93 13 62 62
[76] 55 41 21 22 46 6 14 14 22 66 68 47 33 13 55 47 6 15 48 88 21 6 8 41 13

Example

 Live Demo

x4<-sample(501:999,100,replace=TRUE)
x4

Output

[1] 593 568 672 827 854 927 961 854 867 743 812 631 656 543 633 914 605 721
[19] 935 921 909 669 961 655 891 765 975 781 803 708 857 735 753 795 752 650
[37] 635 605 656 857 599 807 629 705 828 554 534 544 986 607 979 954 785 746
[55] 634 977 566 996 775 700 837 800 507 995 744 833 654 641 779 707 560 509
[73] 665 761 680 855 518 780 928 668 508 982 722 589 566 621 541 624 867 839
[91] 766 950 667 638 989 582 971 583 979 538

Example

 Live Demo

y4<-sample(1:999,100,replace=TRUE)
y4

Output

[1] 41 165 870 243 622 33 75 643 636 591 336 684 586 831 872 868 331 371
[19] 230 851 664 387 742 535 324 918 325 576 987 609 740 307 938 257 740 441
[37] 881 242 277 939 819 401 841 376 297 115 695 266 900 23 553 991 527 76
[55] 448 817 251 876 225 25 255 166 480 488 143 477 942 396 264 957 133 405
[73] 889 582 425 96 273 414 707 713 201 398 442 762 641 484 591 190 776 905
[91] 852 680 468 294 13 452 541 183 865 143

Example

match(x4,y4)

Output

[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 58 NA NA NA NA NA NA NA
[26] NA NA NA NA NA 59 NA NA NA NA NA NA NA NA 87 NA NA NA NA NA 27 NA NA NA NA
[51] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 87 NA NA NA NA
[76] NA NA 37 NA NA NA NA NA NA NA 50 NA NA NA NA NA NA NA NA 43 NA NA NA NA NA

Example

 Live Demo

x5<-rpois(150,5)
x5

Output

[1] 6 4 4 5 3 5 8 8 7 3 4 4 7 4 4 9 10 6 4 3 4 8 3 5 6
[26] 4 8 3 7 2 7 6 4 3 7 4 4 7 2 3 8 2 7 7 6 5 2 4 7 1
[51] 7 4 4 3 3 7 10 5 3 8 9 0 4 8 4 4 5 3 5 9 4 3 3 3 4
[76] 2 7 5 4 5 8 6 3 2 2 1 5 4 1 4 7 3 6 1 9 6 4 3 5 4
[101] 1 4 8 6 5 5 1 7 5 2 8 4 2 3 7 2 0 4 4 7 5 2 5 3 4
[126] 2 10 7 7 4 5 3 0 3 5 2 6 7 4 6 5 5 4 6 6 9 1 3 5 4

Example

 Live Demo

y5<-rpois(150,3)
y5

Output

[1] 1 2 2 5 2 3 6 5 3 4 3 1 4 6 1 2 5 2 3 3 6 1 6 1 4 1 6 0 1 3 3 3 4 1 5 5 4
[38] 1 4 5 3 3 1 1 2 4 3 2 2 2 3 5 4 4 2 1 3 0 4 2 3 0 5 4 3 3 3 4 5 6 4 2 3 4
[75] 3 2 1 3 0 1 2 1 7 0 2 3 2 1 5 4 1 3 1 1 4 1 4 1 6 3 4 4 0 3 1 1 2 6 1 2 2
[112] 3 5 5 3 2 5 3 2 3 2 1 2 4 1 2 1 4 2 5 3 6 3 4 2 6 6 3 3 2 3 6 2 2 3 2 5 2
[149] 3 3

Example

match(x5,y5)

Output

[1] 6 6 NA 1 3 1 6 6 2 1 23 6 23 1 4 1 4 1
[19] 133 1 4 6 4 133 11 133 6 23 4 23 133 1 6 11 133 NA
[37] 4 2 133 11 2 11 4 3 23 11 11 NA 133 133 2 4 6 133
[55] 4 NA 6 6 6 6 3 NA 4 133 6 4 133 11 1 1 NA 133
[73] 1 11 2 4 1 4 11 3 11 4 23 11 6 11 3 1 11 1
[91] 2 1 1 6 1 2 NA 23 1 1 1 2 3 133 4 3 6 3
[109] 4 1 23 133 4 NA NA 11 133 4 NA 11 1 6 4 4 6 11
[127] 6 1 11 1 6 11 133 4 4 6 1 6 6 133 1 6 23 4
[145] 4 11 6 11 23 1

Example

 Live Demo

x6<-round(runif(100,2,5))
x6

Output

[1] 4 3 3 5 3 5 2 3 3 5 3 3 4 4 4 4 3 2 4 5 2 5 2 4 4 5 2 4 4 3 3 3 3 2 3 4 4
[38] 4 3 4 5 4 2 2 2 5 4 3 4 2 5 2 2 4 4 4 5 3 3 3 3 3 4 4 5 4 2 4 2 2 4 2 5 4
[75] 3 3 4 4 2 2 4 2 3 5 4 4 4 4 3 4 5 2 4 4 4 3 5 4 5 3

Example

 Live Demo

y6<-round(runif(100,2,10))
y6

Output

[1] 3 2 5 9 7 8 2 6 6 9 9 9 8 3 8 9 7 5 4 3 5 2 6 6 10
[26] 10 6 4 3 3 5 3 3 3 5 6 7 6 7 6 9 6 5 7 9 2 3 4 2 9
[51] 7 6 3 6 6 4 6 9 6 3 5 8 4 9 6 5 8 10 3 8 7 3 3 6 3
[76] 2 5 10 2 7 10 4 9 6 3 2 6 6 5 4 8 3 8 2 2 2 8 4 3 8

Example

match(x6,y6)

Output

[1] 26 18 1 18 18 1 18 18 1 12 26 18 18 18 1 1 1 18 18 18 1 26 1 18 18
[26] 26 26 12 18 26 1 18 18 12 1 26 1 1 26 1 18 26 12 18 26 26 18 26 18 18
[51] 18 12 1 1 12 26 1 1 12 1 1 26 1 1 1 1 1 18 26 12 26 26 12 26 18
[76] 18 1 26 1 26 18 1 1 1 26 12 18 26 1 18 1 18 18 1 1 1 18 1 12 1
raja
Published on 09-Oct-2020 19:02:22
Advertisements