I have two vectors in R as shown below. The first one represents amino acid numbers with some positions missing while the second one represents the full list. I need to some
to return the indices use %in%
> (a <- letters[1:5])
[1] "a" "b" "c" "d" "e"
> b <- c("a", "b", "e", "f")
> (which(a%in%b))
[1] 1 2 5
> (which(b%in%a))
[1] 1 2 3
Use match:
match(PDBRenum.3V5Q[,2], PDBXPoly.3V5Q[[1]][,3])
With match(x,y), the ith element of the output is the first index of y that matches x[i], unless x[i] doesn't appear in y, in which case it gives NA.
match is most useful when y has no repeated values.
For example:
> match( c(1,3,5), c(2,6,7,3,1) )
[1] 5 4 NA
> match( c(1,3,5), c(2,6,7,3,1, 8,1,3) )
[1] 5 4 NA