首页 > 解决方案 > 通过R中的列表重命名文件夹中的文件

问题描述

所以!

我正在努力重命名文件夹中的文件。使用file.rename可以轻松手动完成。不过,我想用另一种方式来做。

假设我有两个列表:

list_correct_names <- list(apples = c("size", "weight"), pears = c("taste","color"))

list_wrong_names <- list(appples = c("size", "weight"), pearrs = c("taste","color"))

list_wrong_names 中的“appples”和“pearrs”文件夹中的文件名,size/weight/taste/color 是标题。文件的名称是错误的,但标题是正确的。

list_correct_names是我用我期望的名称和标题手动创建的模板。我想通过匹配的标题用list_correct_names的名称重命名文件夹中的文件。

档案苹果会变成苹果,档案梨会变成梨。

对我来说,棘手的是,它应该适用于具有相应“模板”(list_correct_names)的任何类型的列表。它并不总是列出水果,有时是蔬菜。或者不是2个文件,而是3个。

任何提示表示赞赏。

编辑:

这些可以作为文件夹中的文件:

appples <- tibble("size" = c(1,2,3), "weight" = c(1,2,3))
pearrs <- tibble("taste" = c(1,2,3), "color" = c(1,2,3))

标签: r

解决方案


尝试这个:

#list with wrong names
list <- list(appples = c("size", "weight"), pearrs = c("taste","color"))

#Correct names
names(list) <- c("apples","pears")

或者也许是这样:

#list with wrong names
list <- list(appples = c("size", "weight"), pearrs = c("taste","color"))

#Correct a specific name
names(list)[names(list)=="appples"] <- c("apples")

推荐阅读