Прочие функции
#
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