Dans R: J'ai un vecteur et je veux trouver la position de la première valeur supérieure à 100.
# Randomly generate a suitable vector
set.seed(0)
v <- sample(50:150, size = 50, replace = TRUE)
min(which(v > 100))
Départ which.max
:
x <- seq(1, 150, 3)
which.max(x > 100)
# [1] 35
x[35]
# [1] 103
Hadley Wickham a implémenté une fonction, detect_index
, pour effectuer exactement cette tâche dans son paquet purrr
pour la programmation fonctionnelle.
J'ai récemment utilisé moi-même detect_index
et le recommanderais à quiconque ayant le même problème.
La documentation pour detect_index
est disponible ici: https://rdrr.io/cran/purrr/man/detect.html
Il y a beaucoup de solutions, une autre est:
x <- 90:110
which(x > 100)[1]