【发布时间】:2014-01-29 22:24:42
【问题描述】:
我正在尝试对目录中的一批文件运行一个函数,如何将每个输出写入根据其来源命名的文件?例如:
files <- dir(pattern="*.csv")
for (i in 1:length(files)){
dat<-reformat.funct(files[i])
write.csv(dat, "???.reform.csv")
}
我想替换“???”上面带有“文件”中的第 i 个文件名。 也欢迎有关更有效方法的建议(对于超过一行的脚本)。
谢谢。
【问题讨论】:
-
请注意,如果您希望
dir仅返回名称以扩展名“.csv”结尾的文件,则您的模式应使用pattern='\\.csv$'。在正则表达式中,*表示“0 个或多个前面的字符”和“.”。表示“任何字符”。直译“。”必须用“\\”转义,“$”表示字符串结束。您的模式也将与名为“blahcsv.exe”的文件匹配。 -
非常感谢您的建议!
标签: r loops batch-processing naming