r dplyr - 读取文件列表并使用文件名作为变量

标签 r dplyr apply

我想用每个文件的名称替换 image_annotate 下面的“文本”。

library(dplyr)
library(purrr)
library(magick)

list.files(path = "", pattern = "*.png", full.names = T) %>% 
      map(image_read) %>%
      lapply(. %>% image_annotate("Text")) %>%
      image_join() %>% 
      image_animate(fps=1) %>% 
      image_write("animated.gif")

最佳答案

我认为这应该有效。由于您获得了有关文件名的信息并将其传递给 image_read但也想将此信息用于另一个函数( image_annotate ),您可以轻松地将两者放在 map 内的函数中.如果您不想将整个路径作为注释,只需替换 image_annotate(fnme)来自 image_annotate(stringr::str_extract(string = fnme, pattern = "(?<=(/|\\\\)).+(?=\\.png)"))匹配 / 之间的任何内容或 \.png (假设您不想要结尾,否则只需删除前瞻 (?=\\.png )。

library(dplyr)
library(purrr)
library(magick)

list.files(path = "", pattern = "*.png", full.names = T) %>% 
      map(function(fnme) {
          image_read(fnme) %>% image_annotate(fnme)
      }) %>%
      image_join() %>% 
      image_animate(fps=1) %>% 
      image_write("animated.gif")

关于r dplyr - 读取文件列表并使用文件名作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46923970/

相关文章:

r - 将单个唯一变量合并到其他相同的行中

r - 向量化简单格式化函数以处理带有 NA 的向量

r - 获取稀疏矩阵中非零元素的向量,同时保留列名和行名

r - 导入 read.csv/read.xlsx 时将 NA 值插入数据框空白单元格

r - 如何估算特定条件的值?

r - 这是一个什么样的对象,响应式(Reactive)的?

r - dplyr::slice in data.table

r - 与dplyr中的add_rownames相反的函数

python - Pandas:应用一个以列和变量作为参数的函数

Markdown 中的 R anchor