【问题标题】:File picking using pattern in R [duplicate]在R中使用模式选择文件[重复]
【发布时间】:2014-06-24 03:40:47
【问题描述】:

我有一个目录,其中包含多个以 001.csv、002.csv 等开头的文件。我想在我作为参数传递给函数的函数中选择那些文件。 例如。

myFiles<-function(x=1:30){
// I should pick only those files which starts with 001.csv till 030.csv.
}

我尝试使用模式匹配,但我不确定如何使用另一个由向量​​组成的变量进行模式匹配。我什至尝试使用粘贴功能来粘贴完整的文件路径,但它给我的文件名是 1.csv 而不是 001.csv

tt<-function(dirname,type,nums=1:30){
filenames<-list.files(dirname)
c<-nums
myVector<-0
for(i in 1:length(c)){
myVector[i]<-paste(dirname,"/",c[i],".csv",sep="")
#print(myVector[i])
}

}

【问题讨论】:

标签: r


【解决方案1】:

获得正确名称的一种方法是使用 formatC 以 0 填充数字的开头,例如

paste0(formatC(seq(1:30), width = 3, format = "d", flag = "0"), ".csv")

【讨论】:

  • 或者更简洁的sprintf('d%0.3d.csv',1:30)
  • 前导d 是错字,对吧?不过好点。
  • 我也这么认为,但他们还是会grep out
  • @RichardScriven 确实是一个错字sprintf('%0.3d.csv',1:30)
  • @mnel 非常感谢。实际上,我是 R 的新手,并且陷入了非常基本的问题。您的解决方案完全符合我的要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多