[R] filling values in a vector using smaller vector
Wacek Kusnierczyk
Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Wed Dec 24 10:46:41 CET 2008
Wacek Kusnierczyk wrote:
> 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)
>>>
>>>
>>>
> replace(large, which(large), small)
>
in fact, this will do:
replace(large, large, small)
vQ
More information about the R-help
mailing list