Ответ 1
Try
> sum(v > 2 & v < 5)
В R, если вы проверите условие на вектор вместо скаляра, он вернет вектор, содержащий результат сравнения для каждого значения в векторе. Например...
> v <- c(1,2,3,4,5)
> v > 2
[1] FALSE FALSE TRUE TRUE TRUE
Таким образом, я могу определить количество элементов в векторе, которые выше или ниже определенного числа, например.
> sum(v > 2)
[1] 3
> sum(v < 2)
[1] 1
Кто-нибудь знает, как я могу определить количество значений в заданном диапазоне? Например, как бы определить количество значений больше 2, но меньше 5?
Try
> sum(v > 2 & v < 5)
В пакете TeachingDemos также есть операторы сравнения% <% и% < =%, которые позволяют сделать это следующим образом:
sum( 2 %<% x %<% 5 )
sum( 2 %<=% x %<=% 5 )
который дает те же результаты, что и:
sum( 2 < x & x < 5 )
sum( 2 <= x & x <= 5 )
Что лучше, вероятно, больше зависит от личных предпочтений.
Использование, которое:
set.seed(1)
x <- sample(10, 50, replace = TRUE)
length(which(x > 3 & x < 5))
# [1] 6