首页 > 解决方案 > 在 R 中带有循环的时钟以重命名带时间戳的文件

问题描述

我必须重命名数以万计的每个 5 秒的音频文件,每个文件都来自一个 5 分钟的文件(5 分钟/5 秒 = 60 个文件)。为此,我需要定义 5 分钟记录开始的时间(小时、分钟和秒),我尝试制作一个从 5 秒到 5 秒的时钟,并保持秒、分钟和小时的值在向量中使用这些向量重命名文件,如下所示:

stwd("")

name = "Car041512-2021-Pass1-Z2_20210914_211000_" #file name prefix 

hours = 21
minutes = 19
seconde = 9


for (i in 0:59) {
  
    seconde[i+1] = secondes + i*5 
    
    
if(seconde[i+1] >= 60) 
    seconde[i+1] = seconde[i+1] - 60
    minute[i+1]= minutes+1  

  if (minute >= 60)
    minutes = 0
    hour[i+1] = hours + 1
}

time = as.character(paste0(hour,minute,seconde))


list =list.files(all.files=F)

rename = paste0(name,time,".wav")

file.rename(list, rename)

我在循环开始时遇到问题。秒向量不超过 60 秒,但仅在 2 个周期内,我不明白为什么。这是我第一次用 R 做循环,我一定犯了很多错误。

seconde
 [1] 9  14  19  24  29  34  39  44  49  54  59   4   9  14  19  24  29  34  39  44  49  54  59 64  69  74  79  84  89  94 99 104 109 114 119 124 129 134 139 144 149 154 159 164 169 174 179 184 189 194 199 204 209 214 219 224 229 234 239 244

文件的重命名工作正常,只是循环不能正常工作。你能帮助我吗?

提前致谢。

标签: rloopsrscript

解决方案


推荐阅读