class MyArray<T> extends Array<T> {
remove: (elem: T) => Array<T> = function(elem: T) {
return this.filter(e => e !== elem);
}
}
let myArr = new MyArray<string>();
myArr.remove("some");
это работает для меня с машинописным текстом v2.2.1!
Я полагаю, что ваш вопрос касается нормализации различий между последовательностями. Например, Sabherwal и Robey (1993, стр. 557) ссылаются на стандартизацию расстояний, предложенную Abbott & amp; Hyrcac (1990) и вообще не рассматривают стандартизацию последовательности. Во всяком случае, я не могу понять, какой может быть стандартизация последовательности.
Функция seqdist
в TraMineR
имеет аргумент norm
, который можно использовать для нормализации некоторых из предложенных мер расстояния. Вот выдержка из справочной страницы seqdist
:
Расстояния могут быть дополнительно нормализованы с помощью аргумента норма. Если установлено значение «auto», нормализация Эльзинга (сходство, деленное на среднее геометрическое двух длин последовательностей) применяется к расстояниям «LCS», «LCP» и «RLCP», в то время как нормализация Эбботта (расстояние делится на длину более длинной последовательности) используется для «OM», «HAM» и «DHD». Метод Эльзинга можно принудить с помощью «gmean», а правило Эбботта - с «maxlength». С помощью «maxdist» расстояние нормализуется по максимально возможному значению. Для получения более подробной информации см. Gabadinho et al. (2009, 2011). Наконец, YujianBo - это нормализация, предложенная Yujian и Bo (2007), которая сохраняет неравенство треугольника.
blockquote>Позвольте мне предупредить вас, что, хотя нормализация делает расстояния между двумя короткими последовательностями (скажем, длиной 10) более сопоставимыми с расстояниями между двумя длинными последовательностями (скажем, длиной 100), она не решает проблему сравнения последовательностей. разной длины.
Подробное обсуждение нормализации расстояния и сходства в анализе последовательностей можно найти в Elzinga & amp; Studer (2016) .