Как подсчитать количество элементов в векторе, попадающих в определенный диапазон, используя r? - PullRequest
0 голосов
/ 15 февраля 2020

Допустим, мы вектор a = (10,23,57,37,59,25,63,33) и мы хотим вычислить частоту в ячейках 10-19,20-29,30-39,40-49,50-59,60-69. Выходные данные должны быть в форме вектора, в данном случае (1,2,2,2,1).

Ответы [ 3 ]

1 голос
/ 15 февраля 2020

Другое базовое решение R заключается в использовании hist, т. Е.

hist(a,plot = FALSE,breaks = seq(10,70,by=10))$counts
# [1] 1 2 2 0 2 1
1 голос
/ 15 февраля 2020

Вот решение:

a <- c(10, 23, 57, 37, 59, 25, 63, 33)
low_val  <- 10
high_val <- 70
a_breaks <- seq(low_val, high_val, 10)
res <- cut(a, a_breaks, include.lowest = T)
as.vector(table(res))
[1] 1 2 2 0 2 1
0 голосов
/ 15 февраля 2020

Мы можем использовать cut с table

table(cut(a, breaks = c(-Inf, seq(10, 70, by = 10), Inf)))

Или другой вариант

table(findInterval, seq(10, 70, by = 10)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...