Функции подсчета
Подсчет в целочисленном диапазоне
#
StatsBase.counts — Function
counts(x, [wv::AbstractWeights])
counts(x, levels::UnitRange{<:Integer}, [wv::AbstractWeights])
counts(x, k::Integer, [wv::AbstractWeights])
Подсчитывает, сколько раз встречается каждое значение в x. Если указан аргумент levels, учитываются только значения, попадающие в этот диапазон (остальные значения игнорируются без выдачи ошибки или предупреждения). Если указан целочисленный аргумент k, учитываются только значения в диапазоне 1:k.
Если указан вектор весов wv, вычисляются весовые доли, а не доли собственно подсчитанных количеств.
Результатом является вектор длиной length(levels).
#
StatsBase.proportions — Function
proportions(x, levels=span(x), [wv::AbstractWeights])
Возвращает доли значений, встречающихся в x, в диапазоне levels. Эквивалентно counts(x, levels) / length(x).
Если указан вектор весов wv, вычисляются весовые доли, а не доли собственно подсчитанных количеств.
proportions(x, k::Integer, [wv::AbstractWeights])
Возвращает доли целочисленных значений, встречающихся в x, в диапазоне 1--k.
Если указан вектор весов wv, вычисляются весовые доли, а не доли собственно подсчитанных количеств.
#
StatsBase.addcounts! — Method
addcounts!(r, x, levels::UnitRange{<:Integer}, [wv::AbstractWeights])
Добавляет количество вхождений каждого значения из levels в x в существующий массив r. Для каждого xi ∈ x, если xi == levels[j], значение r[j] увеличивается на единицу.
Если указан вектор весов wv, используется сумма весов, а не собственно подсчитанные количества.
Подсчет произвольных отдельных значений
#
StatsBase.countmap — Function
countmap(x; alg = :auto)
countmap(x::AbstractVector, wv::AbstractVector{<:Real})
Возвращает словарь, в котором каждое уникальное значение из x сопоставлено с количеством его вхождений.
Если указан вектор весов wv, используется сумма весов, а не собственно подсчитанные количества.
Аргумент alg допускается только при невзвешенном подсчете и может иметь одно из следующих значений:
-
:auto(по умолчанию): еслиStatsBase.radixsort_safe(eltype(x)) == true, то используется:radixsort; в противном случае используется:dict. -
:radixsort: еслиradixsort_safe(eltype(x)) == true, то для сортировки входного вектора используется алгоритм поразрядной сортировки, что обычно ускоряет выполнение. Однако алгоритм поразрядной сортировки создает копию входного вектора и поэтому потребляет больше оперативной памяти. Выберите значение:dict, если объем доступной оперативной памяти ограничен. -
:dict: используется метод на основеDict, который обычно выполняется медленнее, но потребляет меньше оперативной памяти и является безопасным для любого типа данных.
#
StatsBase.proportionmap — Function
proportionmap(x)
proportionmap(x::AbstractVector, w::AbstractVector{<:Real})
Возвращает словарь, в котором каждое уникальное значение из x сопоставлено с его долей в x.
Если указан вектор весов wv, вычисляются весовые доли, а не доли собственно подсчитанных количеств.
#
StatsBase.addcounts! — Method
addcounts!(dict, x; alg = :auto)
addcounts!(dict, x, wv)
Добавляет подсчитанные количества в x в карту подсчета. Новые записи добавляются, если встречаются новые значения.
Если указан вектор весов wv, используется сумма весов, а не собственно подсчитанные количества.
Аргумент alg допускается только при невзвешенном подсчете и может иметь одно из следующих значений:
-
:auto(по умолчанию): еслиStatsBase.radixsort_safe(eltype(x)) == true, то используется:radixsort; в противном случае используется:dict. -
:radixsort: еслиradixsort_safe(eltype(x)) == true, то для сортировки входного вектора используется алгоритм поразрядной сортировки, что обычно ускоряет выполнение. Однако алгоритм поразрядной сортировки создает копию входного вектора и поэтому потребляет больше оперативной памяти. Выберите значение:dict, если объем доступной оперативной памяти ограничен. -
:dict: используется метод на основеDict, который обычно выполняется медленнее, но потребляет меньше оперативной памяти и является безопасным для любого типа данных.