我正在处理大量数据,其中大部分是含有非英文字符的姓名。我的目标是将这些姓名与在美国收集的关于它们的某些信息匹配。
例如,我可能想要将名字“Sølvsten”(来自某个名字列表)与“Soelvsten”(存储在某个美国数据库中的名称)进行匹配。以下是我编写的一个函数,用于执行此操作。显然,这个函数很笨拙并且有点随意,但我想知道是否有一个简单的R函数可以将这些外语字符转换为最接近的英语邻居。我知道可能没有标准的方法来进行这种转换,但我只是好奇是否存在这样的转换,并且是否可以通过R函数完成该转换。
# a function to replace foreign characters
replaceforeignchars <- function(x)
{
require(gsubfn);
x <- gsub("š","s",x)
x <- gsub("œ","oe",x)
x <- gsub("ž","z",x)
x <- gsub("ß","ss",x)
x <- gsub("þ","y",x)
x <- gsub("à","a",x)
x <- gsub("á","a",x)
x <- gsub("â","a",x)
x <- gsub("ã","a",x)
x <- gsub("ä","a",x)
x <- gsub("å","a",x)
x <- gsub("æ","ae",x)
x <- gsub("ç","c",x)
x <- gsub("è","e",x)
x <- gsub("é","e",x)
x <- gsub("ê","e",x)
x <- gsub("ë","e",x)
x <- gsub("ì","i",x)
x <- gsub("í","i",x)
x <- gsub("î","i",x)
x <- gsub("ï","i",x)
x <- gsub("ð","d",x)
x <- gsub("ñ","n",x)
x <- gsub("ò","o",x)
x <- gsub("ó","o",x)
x <- gsub("ô","o",x)
x <- gsub("õ","o",x)
x <- gsub("ö","o",x)
x <- gsub("ø","oe",x)
x <- gsub("ù","u",x)
x <- gsub("ú","u",x)
x <- gsub("û","u",x)
x <- gsub("ü","u",x)
x <- gsub("ý","y",x)
x <- gsub("ÿ","y",x)
x <- gsub("ğ","g",x)
return(x)
}
注意:我知道存在像Jaro Winkler距离匹配这样的名称匹配算法,但我更愿意做精确匹配。
s1 <- chatr(old1,new1,s)
吗? - Lucarnochartr(old1, new1, s)
中的无效输入 'Using this “cancer pathway approach,†TSGs regulating cell signaling, `。 - Hack-R