根据R中数据框的匹配值重命名文件

Rename files based on a matching value from datafrom in R

假设我有 3 个文件名为

JohnDoe, PeterGynn, JolieHope

在一个文件夹中,现在我想根据数据框 df1 的匹配值更改文件名。

df1 <- structure(list(employee = c("John Doe", "Peter Gynn", "Jolie Hope"), salary = c(21000, 23400, 26800)), row.names = c(NA, -3L), class = c("data.table", "data.frame"))

所以最终的文件名是

21000, 23400, 26800

基本上,我想将文件名从匹配的员工列更改为薪水列。我可以在 bash

内完成
find . -type f -name "*.txt" -printf "/%P\n" | while read FILE ; do DIR=$(dirname "$FILE" );\

但不知道在 r

有什么帮助吗?提前致谢

这是手术前

setwd('~/Desktop/Stack/')

list.files()

输出:

'JohnDoe''JolieHope''PeterGynn'

我是这样做的;

library(dplyr)

df1 <- structure(list(employee = c("John Doe", "Peter Gynn", "Jolie Hope"), salary = c(21000, 23400, 26800)), row.names = c(NA, -3L), class = c("data.table", "data.frame"))

df1 %>%
mutate(filename=gsub(' ','',employee)) -> df2

for(i in 1:nrow(df2)){
    
    old_name <- df2[i]$filename
    new_name <- as.character(df2[i]$salary)
    
    file.rename(from=old_name,to = new_name)

}

这是在

之后
list.files()

'21000''23400''26800'