Ведение заголовков на расстоянии редактирования
Я бегу редактировать расстояние, используя stringdist
, Выходные данные заменяют входные данные нумерованным списком вместо сравниваемой фактической строки. Это то, что у меня сейчас есть:
library(stringdist)
a <- c("foo", "bar", "bear", "boat", method = "lv")
stringdistmatrix(a)
1 2 3
2 3
3 4 1
4 3 2 2
Мне бы хотелось, чтобы результат выглядел следующим образом, чтобы я мог видеть, откуда берется расстояние редактирования.
foo bar bear
bar 3
bear 4 1
boat 3 2 2
2 ответа
Решение
Здесь useNames
Параметр, который вы можете указать:
stringdistmatrix(a, useNames = TRUE)
# foo bar bear
#bar 3
#bear 4 1
#boat 3 2 2
Вероятно, вы хотите method = 'lv'
в качестве аргумента функции:
library(stringdist)
a <- c("foo", "bar", "bear", "boat")
stringdistmatrix(a, method = "lv", useNames = TRUE)
# foo bar bear
#bar 3
#bear 4 1
#boat 3 2 2
Вы можете использовать adist
от base R
также получить матрицу расстояний (с обобщенным расстоянием Левенштейна) следующим образом:
matrix(adist(c("foo", "bar", "bear", "boat")), nrow=length(a), dimnames=list(a, a))
# foo bar bear boat
#foo 0 3 4 3
#bar 3 0 1 2
#bear 4 1 0 2
#boat 3 2 2 0
или нижний треугольный дист
as.dist(matrix(adist(c("foo", "bar", "bear", "boat")),
nrow=length(a), dimnames=list(a, a)))
# foo bar bear
#bar 3
#bear 4 1
#boat 3 2 2