【发布时间】:2017-12-22 09:15:46
【问题描述】:
我有一个包含数千个文件的目录,我想重命名这些文件的子集。
这是我正在尝试做的一个高度简化的示例:
library(dplyr)
f <- as.data.frame(list.files(), header=FALSE)
colnames(f) <- 'origFilename'
f2 <- f %>% separate(origFilename, into=c('ID','date','channel','position','extension'), sep='_', remove=FALSE)
%>% filter(ID > 10)
f2$ID <- as.numeric(f2$ID)
f3 <- f2 %>% mutate(newID = ID + 1)
f3$newFilename <- paste(f3$newID, f3$date, f3$channel, f3$position,
f3$extension, sep='_')
f3$origFilename <- paste(f3$ID, f3$date, f3$channel, f3$position, f3$extension, sep='_')
file.rename(f3$origFilename, f3$newFilename)
此代码的最后一行给出以下错误:
file.rename(f$files.old, f$files.new) 中的错误:“来自”无效 论据
关于如何解决这个问题的任何想法? 抱歉,我不确定如何在这里制作一个完全可重现的示例...
【问题讨论】:
-
file.rename(list.files(), paste(list.files(), "foo", sep="_")) -
请阅读How to make a great reproducible example in R?。这可能会帮助您改进您的问题。
标签: r regex dataframe vector batch-rename