- 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 match the names of a vector in sequence with string vector values in another vector having same values in R?
If we want to match the names of a vector in sequence with string vector values in another vector having same values then pmatch function can be used. The pmatch function means pattern match hence it matches all the corresponding values and returns the index of the values. Check out the below examples to understand how it works.
Example
x1<-c("A","B","C") x1
Output
[1] "A" "B" "C"
Example
y1=structure(c(1,2,3),.Names=c("C","A","B")) y1
Output
C A B 1 2 3
Example
pmatch(x1,names(y1))
Output
[1] 2 3 1
Example
x2<-sample(c("A","B","C"),80,replace=TRUE) x2
Output
[1] "C" "B" "B" "B" "C" "C" "B" "A" "A" "A" "A" "A" "A" "A" "A" "B" "C" "A" "B" [20] "A" "A" "C" "C" "C" "B" "B" "C" "B" "B" "A" "A" "B" "C" "C" "B" "C" "B" "A" [39] "C" "C" "C" "A" "A" "A" "B" "C" "C" "C" "B" "C" "B" "A" "A" "B" "C" "A" "C" [58] "A" "A" "A" "B" "C" "B" "B" "A" "B" "C" "B" "A" "A" "A" "B" "C" "A" "C" "A" [77] "C" "A" "B" "A"
Example
y2<-sample(setNames(c(1,2,3),c("B","C","A")),80,replace=TRUE) y2
Output
C B A A B B B B A B A A B A A A A C C C B B C C C B B B C A B A C B B B C C C C 2 1 3 3 1 1 1 1 3 1 3 3 1 3 3 3 3 2 2 2 1 1 2 2 2 1 1 1 2 3 1 3 2 1 1 1 2 2 2 2 B C A B B B B B C C C B B A C C A A A A B B C B A A A A B C C A A B B C B A C C 1 2 3 1 1 1 1 1 2 2 2 1 1 3 2 2 3 3 3 3 1 1 2 1 3 3 3 3 1 2 2 3 3 1 1 2 1 3 2 2
Example
pmatch(x2,names(y2))
Output
[1] 1 2 5 6 18 19 7 3 4 9 11 12 14 15 16 8 20 17 10 30 32 23 24 25 13 [26] 21 29 22 26 43 54 27 33 37 28 38 31 57 39 40 42 58 59 60 34 49 50 51 35 55 [51] 36 65 66 41 56 67 63 68 72 73 44 70 45 46 78 47 71 48 NA NA NA 52 76 NA 79 [76] NA 80 NA 53 NA
Example
x3<-sample(c("India","China","Bangladesh","Russia"),80,replace=TRUE) x3
Output
[1] "China" "India" "Bangladesh" "Bangladesh" "Bangladesh" [6] "India" "China" "India" "Russia" "Bangladesh" [11] "Bangladesh" "China" "Bangladesh" "China" "Bangladesh" [16] "Russia" "Russia" "India" "India" "China" [21] "China" "Bangladesh" "Bangladesh" "Russia" "Russia" [26] "Bangladesh" "Russia" "Bangladesh" "China" "India" [31] "India" "Russia" "India" "Russia" "India" [36] "Bangladesh" "Russia" "Russia" "China" "India" [41] "Russia" "Bangladesh" "Bangladesh" "India" "Bangladesh" [46] "India" "India" "India" "India" "Russia" [51] "Bangladesh" "India" "India" "Russia" "Bangladesh" [56] "India" "India" "India" "China" "Bangladesh" [61] "India" "Russia" "China" "Russia" "India" [66] "India" "Russia" "India" "China" "Russia" [71] "China" "Russia" "Bangladesh" "Bangladesh" "China" [76] "Russia" "India" "Russia" "China" "India"
Example
y3<- sample(setNames(c(25,24,32,27),c("Russia","China","India","Bangladesh")),80,replace= TRUE) y3
Output
Bangladesh India Russia China Bangladesh India China 27 32 25 24 27 32 24 India Bangladesh China China India Russia Russia 32 27 24 24 32 25 25 China China Bangladesh Russia Russia China China 24 24 27 25 25 24 24 Russia Russia Russia India Russia China China 25 25 25 32 25 24 24 Russia Bangladesh Bangladesh Bangladesh Russia India China 25 27 27 27 25 32 24 Bangladesh Russia India Russia India Russia India 27 25 32 25 32 25 32 Russia Russia Bangladesh India China China China 25 25 27 32 24 24 24 India India Russia Russia Bangladesh China Bangladesh 32 32 25 25 27 24 27 China India Bangladesh Bangladesh China India Russia 24 32 27 27 24 32 25 China Bangladesh India Bangladesh India Russia China 24 27 32 27 32 25 24 Russia Bangladesh Russia Russia Russia Russia Russia 25 27 25 25 25 25 25 China Bangladesh India 24 27 32
Example
pmatch(x3,names(y3))
Output
[1] 4 2 1 5 9 6 7 8 3 17 30 10 31 11 32 13 14 12 25 15 16 36 45 18 19 [26] 54 22 56 20 34 38 23 40 24 42 59 26 29 21 46 33 60 65 50 67 51 58 62 66 37 [51] 72 68 80 39 79 NA NA NA 27 NA NA 41 28 43 NA NA 44 NA 35 52 47 53 NA NA 48 [76] 63 NA 69 49 NA
Example
x4<-sample(c("80 degree","90 degree","100 degree"),80,replace=TRUE) x4
Output
[1] "80 degree" "100 degree" "90 degree" "80 degree" "80 degree" [6] "80 degree" "100 degree" "100 degree" "80 degree" "90 degree" [11] "80 degree" "90 degree" "80 degree" "80 degree" "80 degree" [16] "100 degree" "100 degree" "80 degree" "90 degree" "100 degree" [21] "90 degree" "90 degree" "80 degree" "90 degree" "80 degree" [26] "80 degree" "90 degree" "80 degree" "90 degree" "100 degree" [31] "80 degree" "90 degree" "90 degree" "100 degree" "100 degree" [36] "90 degree" "100 degree" "90 degree" "90 degree" "100 degree" [41] "90 degree" "100 degree" "80 degree" "80 degree" "90 degree" [46] "100 degree" "100 degree" "100 degree" "90 degree" "100 degree" [51] "80 degree" "100 degree" "80 degree" "80 degree" "90 degree" [56] "100 degree" "80 degree" "80 degree" "100 degree" "80 degree" [61] "80 degree" "80 degree" "80 degree" "80 degree" "100 degree" [66] "100 degree" "100 degree" "80 degree" "90 degree" "80 degree" [71] "80 degree" "90 degree" "80 degree" "80 degree" "80 degree" [76] "90 degree" "100 degree" "80 degree" "80 degree" "80 degree"
Example
<y4<-sample(setNames(c(90,100,80),c("90 degree","100 degree","80 degree")),80,replace=TRUE) y4
Output
90 degree 100 degree 80 degree 100 degree 90 degree 90 degree 90 degree 90 100 80 100 90 90 90 100 degree 80 degree 80 degree 90 degree 90 degree 90 degree 100 degree 100 80 80 90 90 90 100 80 degree 80 degree 80 degree 100 degree 100 degree 100 degree 100 degree 80 80 80 100 100 100 100 100 degree 100 degree 100 degree 80 degree 80 degree 100 degree 100 degree 100 100 100 80 80 100 100 80 degree 80 degree 100 degree 100 degree 90 degree 90 degree 100 degree 80 80 100 100 90 90 100 80 degree 90 degree 100 degree 80 degree 100 degree 80 degree 100 degree 80 90 100 80 100 80 100 90 degree 90 degree 90 degree 100 degree 90 degree 100 degree 80 degree 90 90 90 100 90 100 80 80 degree 90 degree 90 degree 90 degree 100 degree 80 degree 80 degree 80 90 90 90 100 80 80 90 degree 100 degree 100 degree 90 degree 80 degree 100 degree 80 degree 90 100 100 90 80 100 80 80 degree 90 degree 100 degree 100 degree 100 degree 100 degree 100 degree 80 90 100 100 100 100 100 80 degree 100 degree 80 degree 80 degree 100 degree 100 degree 80 degree 80 100 80 80 100 100 80 90 degree 90 degree 100 degree 90 90 100
Example
pmatch(x4,names(y4))
Output
[1] 3 2 1 9 10 15 4 8 16 5 17 6 25 26 29 14 18 30 7 19 11 12 36 13 39 [26] 41 33 49 34 20 50 37 43 21 22 44 23 45 47 24 51 27 55 56 52 28 31 32 53 35 [51] 61 38 63 64 57 40 71 73 42 74 77 NA NA NA 46 48 54 NA 60 NA NA 65 NA NA NA [76] 78 58 NA NA NA
- Related Articles
- How to replace values in a vector with values in the same vector in R?
- How to extract the names of vector values from a named vector in R?
- R programming to subtract all values in a vector from all values in another vector.
- How to find the position of one or more values in a vector into another vector that contains same values in R?
- How to multiply vector values in sequence with matrix columns in R?
- How to multiply vector values in sequence with columns of a data frame in R?
- How to multiply vector values in sequence with columns of a data.table object in R?
- How to replace vector values less than 2 with 2 in an R vector?
- How to check matrix values equality with a vector values in R?
- How to create a vector with repeated values in R?
- How to create a vector with zero values in R?
- How to create a matrix using vector of string values in R?
- How to replace one vector elements with another vector elements in R?
- How to create a vector with zero values in R Program?
- How to extract all string values from a vector in R with maximum lengths?

Advertisements