[R] Extract values based on indexes without looping?

David Winsemius dwinsemius at comcast.net
Wed Dec 24 04:09:43 CET 2008


 > sapply(which.vec, function(x){ value.vec[x] } )
[1] "c" "b" "b" "a"


On Dec 23, 2008, at 9:52 PM, Sean Zhang wrote:

> # value.vec stores values
> value.vec <- c('a','b','c')
> #  which.vec stores the locations/indexs of values in value.vec.
> which.vec <- c(3, 2, 2, 1)
> # How can I obtain the following vector based on the value.vec and  
> which.vec
> mentioned above
> # vector.I.want <- c('c', 'b', 'b', 'a')

> vector.I.want <- rep(NA,length(which.vec))
> for (i in 1:length(which.vec))
> { vector.I.want[i] <- value.vec[which.vec[i]] }



More information about the R-help mailing list