Hitta en matchning trots ett skrivfel
Mänsklig inmatning är mycket felbenägen. Människor skriver fel på alla möjliga texter – inklusive sitt eget namn eller sin adress – och som datavetare behöver du ett sätt att hantera det. Att beräkna strängavstånd är ett sätt att tackla det här problemet.
I den lilla vektorn usernames finns tre olika namn. Din uppgift är att hitta det närmast möjliga namnet till det inmatade namnet "Emile Brown". Kan du hitta ett liknande namn i vektorn usernames? Använd amatch() för att söka i vektorn och skriv ut en rekommendation liknande den du har sett på Google.
Den här övningen är en del av kursen
Reguljära uttryck på mellannivå i R
Övningsinstruktioner
- Ange det maximala redigeringsavståndet för funktionen
amatch()till1. - Använd returvärdet från
amatch(), som lagras iclosest_index, för att skriva ut namnet iusernames.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
usernames <- c("Max Power", "Emilie Brown", "Max Mustermann")
# Search usernames with a maximum edit distance of 1
closest_index <- amatch(
x = "Emile Brown",
table = usernames,
___ = ___,
method = "lv"
)
# Print the matched name in usernames at closest_index
print(glue(
"Did you mean {name_matched}?",
name_matched = ___
))