No real need to answer. I found that function 'metaphone' from package "phonics" doesn't misbehave this way!
library(phonics) mymetaphone = function(x){ temp <- strsplit(x, split=" ")[[1]] for(word in 1:length(temp)){ temp[word]<-metaphone(temp[word]) } return(paste(temp, collapse = "")) } The next 4 lines return the same thing: metaphone("netflix") metaphone("net flex") mymetaphone("netflix") mymetaphone("net flex") Dimitri On Wed, Dec 14, 2016 at 2:35 PM, Dimitri Liakhovitski <dimitri.liakhovit...@gmail.com> wrote: > I was wondering if anyone can answer this question. > > library(PGRdup) > > Both lines below return "NTFL". > DoubleMetaphone("netflix")$primary > DoubleMetaphone("net flex")$primary > > Now, I modify the function a bit - I first split the string on > "space", then merge back together: > > mymetaphone = function(x){ > temp <- strsplit(x, split=" ")[[1]] > for(word in 1:length(temp)){ > temp[word]<-DoubleMetaphone(temp[word])$primary > } > return(paste(temp, collapse = "")) > } > mymetaphone("netflix") # returns "NTFL" > mymetaphone("net flex") # returns "NTFLKS" > > Why such a difference between DoubleMetaphone("net flex")$primary and > mymetaphone("net flex")? > Why isn't DoubleMetaphone("net flex")$primary returning "NTFLKS"? > Thank you! > > -- > Dimitri Liakhovitski -- Dimitri Liakhovitski ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.