I need to rename a bunch of files, by searching for string matches in a list. Each list element containings a character with the old filename that I want to match to, and the new file name that I want to rename by.
For instance, here filename '1001.xls' should match to list[[1]]$oldname and I want to rename it to 'newa.xls' from list[[1]]$newname. The actual new file names I have will feature a random alphanumeric number and the list will have a length of ~600. # files I want to rename files with old file name =c('1001.xls', '1002.xls') # list with old file names and new file names oldnames=c('1001', '1002', '1003') newnames=c('newa', 'newb', 'newc') df=data.frame(oldnames,newnames) list <- split(df, rownames(df)) # turn list elements in character for(i in 1:length(list)) list[[i]]$oldnames=as.character(list[[i]]$oldnames) for(i in 1:length(list)) list[[i]]$newnames=as.character(list[[i]]$newnames) I heard that it would be better to vectorize this than trying to do a double loop so if someone could give me a hint about how to do this I would be very grateful! [[alternative HTML version deleted]] ______________________________________________ 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.