【问题标题】:Create character vector of filenames in numeric sequence with leading zeroes以带前导零的数字序列创建文件名的字符向量
【发布时间】:2015-11-09 02:37:32
【问题描述】:

我需要生成 100 个文件名。

你将如何在包含 100 个文件名的 R 中生成对应的字符向量 filesplot01.png, plot02.png, plot03.png, ..., plot99.png, plot100.png?注意前 9 个文件的编号都是从 0 开始的。

显而易见但非常无效的解决方案是编写一个包含 100 个文件名的向量。我试图找出一种更有效的方法来创建这个字符向量。

【问题讨论】:

  • paste(formatC(1:100, flag = "0", width = 3), "png", sep = ".")
  • 不同场景但同样需要读取编号为001-100的文件:stackoverflow.com/questions/21216454/…
  • 或者只是sprintf("%02d.png", 1:100) ?
  • @SamFirke - 更好:-) 将其发布为答案,尽管我认为他们想要%02d
  • 如果您输入 3 位数字,您确定要 plot01 而不是 plot001

标签: r


【解决方案1】:

一个简洁的选项是paste0("plot", sprintf("%02d.png", 1:100)):

  [1] "plot01.png"  "plot02.png"  "plot03.png"  "plot04.png" ...

另一种编写更多字符但可能更容易遵循的方法是使用 stringr 包中的 str_pad 进行字符串填充:

library(stringr)
paste0("plot", str_pad(1:100, width = 2, side = "left", pad = 0), ".png")

【讨论】:

    【解决方案2】:

    结合pasteformatC

    paste(formatC(1:100, flag = "0", width = 2), "png", sep = ".")
    #  [1] "01.png"  "02.png"  "03.png"  "04.png"  "05.png"  "06.png"  "07.png" ...
    

    【讨论】:

    • 我认为 OP 想要width=2
    猜你喜欢
    • 2017-04-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多