【发布时间】:2017-05-16 11:49:58
【问题描述】:
我有一个文件列表,它是使用 list.files 创建的:
filesxx<-list.files(pattern="0-4000")
获取如下列表:
[1] "Alta Guajira Coord & elevation TS 0-4000.txt" "Baja Guajira Coord & elevation TS 0-4000.txt"
[3] "Bajo Meta Coord & elevation TS 0-4000.txt" "Rio Arauca Coord & elevation TS 0-4000.txt"
[5] "Rio Catatubo Coord & elevation TS 0-4000.txt" "Rio Cesar Coord & elevation TS 0-4000.txt"
[7] "Rio Sogamoso Coord & elevation TS 0-4000.txt" "Rio Tomo Coord & elevation TS 0-4000.txt"
[9] "Sabana de Bogota Coord & elevation TS 0-4000.txt" "Total Area Coord & elevation TS 0-4000.txt"
我想从这个列表中创建一个循环,它将根据循环变量 (a) 选择其中一个文件,这将是名称中的一个模式,例如变量 (a) 将是:“Alta Guajira”并在下一个周期“Rio Tomo”..等
我该如何做到这一点,如何从已制作的文件列表中选择具有模式的文件?
我认为函数Shopt 更多的是排除模式,也许函数find 可以工作,但在寻找一些类似的案例后我还没有找到答案。
【问题讨论】:
-
Alta Guajira和Rio Tomo之间的模式在哪里/是什么,看起来并不明显。 -
您的模式是否总是名称中的连续字符串?如果是这样,请使用
grep()。 -
我认为不清楚,所以我编辑了问题,列表是使用 list.files 创建的,从这个列表中我将使用循环,循环变量将是“新模式”并将每个周期都会发生变化,但我不知道如何在已经是 list.files 结果的列表中查找模式。我希望它清楚的问题
-
@Gin_Salmon "Alta Guajira", "Rio Tomo".. 等是向量中的元素,循环变量将在每个周期中选择其中一个文件,但我显示的这个列表是已经是使用具有初始模式的 list.files 的结果:“0-4000”。现在我需要一种方法来从这个列表中过滤出每个周期都会改变的模式