如何找到一个向量中一个或多个值的位置到另一个在R中包含相同值的向量中?

借助匹配功能,可以轻松地找到两个向量中共有的多个值之一的位置。match函数将匹配第一个和第二个向量中的值,然后返回这些公共值在第二个向量中的索引或位置。

示例

set.seed(145)

x1<-0:5

y1<-10:0

match(x1,y1)

输出结果

[1] 11 10 9 8 7 6

示例

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

x2

输出结果

[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

示例

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

y2

输出结果

[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

示例

match(x2,y2)

输出结果

[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

示例

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

x3

输出结果

[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

示例

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

y3

输出结果

[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

示例

match(x3,y3)

输出结果

[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

示例

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

x4

输出结果

[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

示例

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

y4

输出结果

[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

示例

match(x4,y4)

输出结果

[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

示例

x5<-rpois(150,5)

x5

输出结果

[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

示例

y5<-rpois(150,3)

y5

输出结果

[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

示例

match(x5,y5)

输出结果

[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

示例

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

x6

输出结果

[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

示例

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

y6

输出结果

[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

示例

match(x6,y6)

输出结果

[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

以上是 如何找到一个向量中一个或多个值的位置到另一个在R中包含相同值的向量中? 的全部内容, 来源链接: utcz.com/z/345561.html

回到顶部