📜  如何计算 R 中的 Levenshtein 距离?

📅  最后修改于: 2022-05-13 01:55:26.125000             🧑  作者: Mango

如何计算 R 中的 Levenshtein 距离?

在本文中,我们将讨论如何在 R 编程语言中计算 Levenshtein 距离。

两个字符串之间的Levenshtein 距离是将一个字符串转换为另一个字符串所需的最小字符替换、插入和删除次数。 Levenshtein 距离实际上用于近似字符串匹配、拼写检查、自然语言处理等。

为了计算 R 语言中的 Levenshtein 距离,我们使用了 stringdist 包库的 stringdist()函数。 stringdist 包是一个 R 语言库,其中包含近似字符串匹配、模糊文本搜索和字符串距离函数。 stringdist()函数计算两个或多个字符串、向量或数据框列之间的成对字符串距离。

两个字符串之间的 Levenshtein 距离

为了计算 R 语言中的 Levenshtein 距离,我们使用 stringdist 包库的 stringdist()函数。 stringdist()函数将两个字符串作为参数并返回它们之间的 Levenshtein 距离。

示例:在这里,我们将计算两个字符串之间的 Levenshtein 距离。

R
# load library stringdist
library(stringdist)
  
# sample strings
string1= "Priyank"
string2= "geeksforgeeks"
  
# calculate Levenshtein Distance
stringdist(string1, string2, method = 'lv')


R
# load library stringdist
library(stringdist)
  
# sample strings
string_vec1<- c("Priyank", "Abhiraj", "Sudhanshu")
string_vec2<- c("geeksforgeeks", "Devraj", "Pawan")
  
# calculate Levenshtein Distance
stringdist(string_vec1, string_vec2, method = 'lv')


R
# load library stringdist
library(stringdist)
  
# sample string data frame
string_data<- data.frame(one= c("Priyank", 
                                "Abhiraj", "Sudhanshu"),
                         two= c("geeksforgeeks", 
                                "Devraj", "Pawan"))
  
# calculate Levenshtein Distance
string_data$levenshtein<-stringdist(string_data$one, 
                                    string_data$two,
                                    method = 'lv')
  
# print data frame
 string_data


输出:

两个字符串向量之间的 Levenshtein 距离:

为了计算 R 语言中两个向量之间的 Levenshtein 距离,我们使用了 stringdist 包库的 stringdist()函数。 stringdist()函数将两个字符串向量作为参数,并返回一个向量,该向量包含其中每个字符串对之间的 Levenshtein 距离。

示例:在这里,我们将计算两个字符串向量之间的 Levenshtein 距离。

R

# load library stringdist
library(stringdist)
  
# sample strings
string_vec1<- c("Priyank", "Abhiraj", "Sudhanshu")
string_vec2<- c("geeksforgeeks", "Devraj", "Pawan")
  
# calculate Levenshtein Distance
stringdist(string_vec1, string_vec2, method = 'lv')

输出:

数据帧的两个字符串列之间的 Levenshtein 距离

为了计算 R 语言中数据框的两个字符串列之间的 Levenshtein 距离,我们使用 stringdist 包库的 stringdist()函数。 stringdist()函数将数据帧的两个字符串列作为参数,并返回一个包含它们之间的 Levenshtein 距离的向量。

示例:在这里,我们将计算数据框的两个字符串列之间的 Levenshtein 距离。

R

# load library stringdist
library(stringdist)
  
# sample string data frame
string_data<- data.frame(one= c("Priyank", 
                                "Abhiraj", "Sudhanshu"),
                         two= c("geeksforgeeks", 
                                "Devraj", "Pawan"))
  
# calculate Levenshtein Distance
string_data$levenshtein<-stringdist(string_data$one, 
                                    string_data$two,
                                    method = 'lv')
  
# print data frame
 string_data

输出: