Hi all R users,

I am trying to extract elements from an array (x as shown below) where the

difference between the consecutive elements does not equal 1.

The desired output is:

j = 6,17,27,38,58,69,79,90

However, the code below only returns:

j = 1,69,79,90

I am assuming that "cbind" function is not extracting all the elements

meeting the condition. In Matlab, j = [] (empty array) would append all the

elements into this variable j if the conditions are met. I have also tried

concatenating the elements (j <- c(1, x[i], x[i+1], x[length(x)]), however

no luck..

> x

[1] 6 7 8 9 10 11 12 13 14 15 16 17 27 28 29 30 31 32 33 34 35 36 37 38

58 59 60 61 62 63 64 65 66 67 68 69 79 80 81 82 83 84 85 86 87 88 89 90

i <- 1

j <- numeric()

while (i < length(x))

{

if (x[i] + 1 != x[i+1])

j <- cbind(1, x[i], x[i+1], x[length(x)])

# j <- c(1, x[i], x[i+1], x[length(x)])

i <- i+1

}

Please advise any solutions that may enlighten my problem.

Highly appreciate for your help in this matter in advance.

Steve

[[alternative HTML version deleted]]

______________________________________________

[hidden email] mailing list

https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide

http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.