Прочие функции
#
StatsBase.rle
— Function
rle(v) -> (vals, lens)
Выполняет кодирование длин серий для вектора и возвращает результат в виде кортежа. Первый элемент кортежа — это вектор входных значений, а второй — количество последовательных вхождений каждого элемента.
Примеры
julia> using StatsBase
julia> rle([1,1,1,2,2,3,3,3,3,2,2,2])
([1, 2, 3, 2], [3, 2, 4, 3])
#
StatsBase.levelsmap
— Function
levelsmap(a)
Создает словарь, в котором каждое из n
уникальных значений в a
сопоставлено с числом от 1 до n
.
#
StatsBase.indexmap
— Function
indexmap(a)
Создает словарь, в котором каждое уникальное значение из a
сопоставлено с индексом его первого вхождения в a
.
#
StatsBase.indicatormat
— Function
indicatormat(x, k::Integer; sparse=false)
Создает логическую матрицу I
размера (k, length(x))
такую, что I[x[i], i] = true
и все элементы имеют значение false
. Если аргумент sparse
имеет значение true
, результатом будет разреженная матрица; в противном случае она будет плотной (по умолчанию).
Примеры
julia> using StatsBase
julia> indicatormat([1 2 2], 2)
2×3 Matrix{Bool}:
1 0 0
0 1 1
indicatormat(x, c=sort(unique(x)); sparse=false)
Создает логическую матрицу I
размера (length(c), length(x))
. Допустим, ci
— это индекс x[i]
в c
. Тогда I[ci, i] = true
, а все остальные элементы имеют значение false
.
#
StatsBase.midpoints
— Function
StatsBase.midpoints(v)
Вычисляет срединные точки (попарное среднее последовательных элементов).
#
StatsAPI.pairwise
— Function
pairwise(f, x[, y];
symmetric::Bool=false, skipmissing::Symbol=:none)
Возвращает матрицу, содержащую результат применения функции f
ко всем возможным парам элементов в итераторах x
и y
. Строки соответствуют элементам в x
, а столбцы — элементам в y
. Если аргумент y
не указан, возвращается квадратная матрица, являющаяся пересечением итератора x
с самим собой.
В особом случае, если функцией f
является cor
, расположенные по диагонали ячейки, для которых элементы в x
и y
являются идентичными (===
), задаются равными единице даже при наличии элементов со значением missing
, NaN
или Inf
.
Именованные аргументы
-
symmetric::Bool=false
: при значенииtrue
функцияf
вызывается только для нижнего треугольника матрицы, и эти значения копируются для заполнения верхнего треугольника. Допускается только в том случае, если аргументy
не указан. Если функциейf
являетсяcor
илиcov
, по умолчанию имеет значениеtrue
. -
skipmissing::Symbol=:none
: при значении:none
(по умолчанию) значения missing во входных данных передаются вf
без изменения. Используйте:pairwise
, чтобы пропускать элементы со значениемmissing
в каждом из двух векторов, передаваемых вf
, для данной пары векторов вx
иy
. Используйте:listwise
, чтобы пропускать элементы со значениемmissing
в любом из векторов вx
илиy
; обратите внимание, что это может привести к пропуску значительной части элементов. Допускается только в том случае, если элементы вx
иy
являются векторами.
Примеры
julia> using StatsBase, Statistics
julia> x = [1 3 7
2 5 6
3 8 4
4 6 2];
julia> pairwise(cor, eachcol(x))
3×3 Matrix{Float64}:
1.0 0.744208 -0.989778
0.744208 1.0 -0.68605
-0.989778 -0.68605 1.0
julia> y = [1 3 missing
2 5 6
3 missing 2
4 6 2];
julia> pairwise(cor, eachcol(y), skipmissing=:pairwise)
3×3 Matrix{Float64}:
1.0 0.928571 -0.866025
0.928571 1.0 -1.0
-0.866025 -1.0 1.0
#
StatsAPI.pairwise!
— Function
pairwise!(f, dest::AbstractMatrix, x[, y];
symmetric::Bool=false, skipmissing::Symbol=:none)
Сохраняет в матрице dest
результат применения функции f
ко всем возможным парам элементов в итераторах x
и y
и возвращает эту матрицу. Строки соответствуют элементам в x
, а столбцы — элементам в y
, поэтому матрица dest
должна иметь размер length(x) × length(y)
. Если аргумент y
не указан, выполняется пересечение итератора x
с самим собой.
В особом случае, если функцией f
является cor
, расположенные по диагонали ячейки, для которых элементы в x
и y
являются идентичными (===
), задаются равными единице даже при наличии элементов со значением missing
, NaN
или Inf
.
Именованные аргументы
-
symmetric::Bool=false
: при значенииtrue
функцияf
вызывается только для нижнего треугольника матрицы, и эти значения копируются для заполнения верхнего треугольника. Допускается только в том случае, если аргументy
не указан. Если функциейf
являетсяcor
илиcov
, по умолчанию имеет значениеtrue
. -
skipmissing::Symbol=:none
: при значении:none
(по умолчанию) значения missing во входных данных передаются вf
без изменения. Используйте:pairwise
, чтобы пропускать элементы со значениемmissing
в каждом из двух векторов, передаваемых вf
, для данной пары векторов вx
иy
. Используйте:listwise
, чтобы пропускать элементы со значениемmissing
в любом из векторов вx
илиy
; обратите внимание, что это может привести к пропуску значительной части элементов. Допускается только в том случае, если элементы вx
иy
являются векторами.
Примеры
julia> using StatsBase, Statistics
julia> dest = zeros(3, 3);
julia> x = [1 3 7
2 5 6
3 8 4
4 6 2];
julia> pairwise!(cor, dest, eachcol(x));
julia> dest
3×3 Matrix{Float64}:
1.0 0.744208 -0.989778
0.744208 1.0 -0.68605
-0.989778 -0.68605 1.0
julia> y = [1 3 missing
2 5 6
3 missing 2
4 6 2];
julia> pairwise!(cor, dest, eachcol(y), skipmissing=:pairwise);
julia> dest
3×3 Matrix{Float64}:
1.0 0.928571 -0.866025
0.928571 1.0 -1.0
-0.866025 -1.0 1.0