[R] filling values in a vector using smaller vector
Wacek Kusnierczyk
Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Wed Dec 24 10:22:52 CET 2008
Milton Huang wrote:
> Dear list members:
>
> I am looking for an elegant (or efficient) way to accomplish the following:
>
> take a large boolean vector and fill the TRUE values with the values from a
> smaller boolean vector that has a length that is the number of TRUE values of
> the large vector.
>
> Example:
>
> large<- c(FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE,
> TRUE, FALSE)
>
> small<- c(TRUE, FALSE, TRUE)
>
> desired output = c(FALSE, FALSE, FALSE, *TRUE*, FALSE, FALSE, *FALSE*, FALSE,
> FALSE, FALSE, *TRUE*, FALSE)
>
>
large[which(large)] = small
# large[which(large)] = paste("*", small, "*", sep="") to see it's as
you specify
?which
vQ
More information about the R-help
mailing list