Thanks all. This works..

On Thu, Feb 24, 2011 at 3:43 AM, Jim Lemon <j...@bitwrit.com.au> wrote:

> On 02/24/2011 08:37 PM, Dimitris Rizopoulos wrote:
>
>> there are also vectorized logical operators; have a look at the help
>> page ?'&', and try this:
>>
>> trend1 <- c(1,1,1,1,1,1,-1,-1,-1,-1,-1,-1)
>> trend2 <- c(1,1,1,1,1,1,1,1,1,1,1,-1)
>>
>> position <- as.numeric((trend1 == 1 & trend2 == 1) | (trend1 == -1 &
>> trend2 == -1))
>> position
>>
>>
>> I hope it helps.
>>
>> Best,
>> Dimitris
>>
>>  How about (trend1 * trend2 + 1)/2
>
> Jim
>
>
>
>> On 2/24/2011 9:41 AM, Kushan Thakkar wrote:
>>
>>> I have two vectors: both have possible values of 1,-1, or 0
>>>
>>> trend1<- c(1,1,1,1,1,1,-1,-1,-1,-1,-1,-1)
>>> trend2<- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,)
>>>
>>> i want to create a third vector that is conditional upon these two
>>> vectors:
>>>
>>> if (trend2 == 1&& trend1 == 1) {position<- 1}
>>> elseif (trend2 == -1&& trend1== -1) {position<- 1}
>>> else {position<- 0}
>>>
>>> based on this two conditions, the position vector should have a value:
>>>
>>> position: 1,1,1,1,1,1,0,0,0,0,0,0
>>>
>>> Is there a way to do this in R without explicitly going through a for
>>> loop?
>>> The if condition doesn't work as it only accept one condition (aka no
>>> vectors).
>>>
>>
>

        [[alternative HTML version deleted]]

______________________________________________
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