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

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to