I am using a for loop for finding and replacing some text values in a dataframe. My findreplace table has 1431 patterns and my master DF contains 3.5 lac records. Now, I am looking for some faster approach in order to reduce the runtime of the loop and get the work done faster. Currently it is taking 33 min.
dfy<-data.frame(fuzzyname=c("AU HOUSING","BAJAJ AUTO","INDOSTAR CAPITAL","FULLLERTON INDIA","LIC HOUSING FINANCE","CAPITALFIRST"))
dfy[]<-sapply(dfy, as.character)
df_pat<-data.frame(find=c("AUTO","CAPITAL","LIC"))
df_rep<-data.frame(replace=c("AUTOMOBILES","CAP","LIFE CORPORATION OF INDIA"))
for(i in 1:nrow(df_pat)) {
dfy$fuzzyname <- gsub(df_pat$find[i],df_rep$replace[i],dfy$fuzzyname,perl=T)
print(paste(i,df_pat$find[i],sep = "----"))
}
Please help me out.