[R] rle
Richard.Cotton at hsl.gov.uk
Richard.Cotton at hsl.gov.uk
Tue Jul 7 13:30:37 CEST 2009
> I have an other problem, I have this vector signData with an alternation
of
> 1 and -1 that corrispond to the duration of two different percepts. I
> extracted the durations like this:
>
> signData<- scan("dataTR10.txt")
> dur<-rle(signData)$length
I think that last line should be
dur<-rle(signData)$lengths
> Now I would like to extract only the positive duration, e.g.
>
> signData <- c(1,1,1,1,-1,-1,-1,1,1,-1,-1)
> posduration <- c(4,2)
If you know that the first element of signData will always be 1, then you
can simply extract the first, third, fifth etc values from signdata, like
so:
posduration <- dur[c(TRUE, FALSE)]
Otherwise you need to test to see if you are extracting odd or even
elements.
if(signData[1]==1)
{
index <- c(TRUE, FALSE)
} else
{
index <- c(FALSE, TRUE)
}
posduration <- dur[index]
Regards,
Richie.
Mathematical Sciences Unit
HSL
------------------------------------------------------------------------
ATTENTION:
This message contains privileged and confidential inform...{{dropped:20}}
More information about the R-help
mailing list