Skip to content

vector indexing

4 messages · Al Ehan, Ivan Calandra, Rui Barradas +1 more

#
Hi,

Is it what you're looking for?

which(y>4)  ##all indexes for y>4
[1]  3  6  7  9 11
which(y>4)[1]  ##the first index
[1] 3

HTH,
Ivan

--
Ivan CALANDRA
Universit? de Bourgogne
UMR CNRS/uB 6282 Biog?osciences
6 Boulevard Gabriel
21000 Dijon, FRANCE
+33(0)3.80.39.63.06
ivan.calandra at u-bourgogne.fr
http://biogeosciences.u-bourgogne.fr/calandra

Le 23/10/12 11:21, Al Ehan a ?crit :
#
Hello,

Try the following.

y=c(2,3,5,2,4,6,8,3,6,2,5)

first <- function(x) min(which(x))
prefix <- function(x, v) x[seq_len(v)]
suffix <- function(x, v) x[-seq_len(v)]

first(y > 4)
prefix(y, first(y > 4))
suffix(y, first(y > 4))


Hope this helps,

Rui Barradas
Em 23-10-2012 10:21, Al Ehan escreveu:
#
On 12-10-23 5:39 AM, Rui Barradas wrote:
Be careful with this:  it fails if the condition is FALSE for every 
element, e.g.

 > first(y > 10)
[1] Inf
Warning message:
In min(which(x)) : no non-missing arguments to min; returning Inf

I don't know if this is possible in the original context, or what the 
desired result would be if it happens:  but it's something to look out for.

Duncan Murdoch