Dans R, si vous testez une condition sur un vecteur au lieu d'un scalaire, elle renverra un vecteur contenant le résultat de la comparaison pour chaque valeur du vecteur. Par exemple...
> v <- c(1,2,3,4,5)
> v > 2
[1] FALSE FALSE TRUE TRUE TRUE
De cette façon, je peux déterminer le nombre d'éléments dans un vecteur qui sont au-dessus ou en dessous d'un certain nombre, ainsi.
> sum(v > 2)
[1] 3
> sum(v < 2)
[1] 1
Quelqu'un sait-il comment je peux déterminer le nombre de valeurs dans une plage donnée? Par exemple, comment pourrais-je déterminer le nombre de valeurs supérieures à 2 mais inférieures à 5?
Essayer
> sum(v > 2 & v < 5)
Il y a aussi les opérateurs de comparaison% <% et% <=% dans le package TeachingDemos qui vous permettent de faire ceci comme:
sum( 2 %<% x %<% 5 )
sum( 2 %<=% x %<=% 5 )
ce qui donne les mêmes résultats que:
sum( 2 < x & x < 5 )
sum( 2 <= x & x <= 5 )
Ce qui est mieux est probablement plus une question de préférence personnelle.
Utilisation qui:
set.seed(1)
x <- sample(10, 50, replace = TRUE)
length(which(x > 3 & x < 5))
# [1] 6