列出具有多个条件的文件第 2 部分
List files with multiple conditions part2
我有以下栅格,想将它们导入 R。我的文件现在称为:
B02_10m.jp2
B03_10m.jp2
B04_10m.jp2
B08_10m.jp2
B05_20m.jp2
B06_20m.jp2
B07_20m.jp2
B8A_20m.jp2
B11_20m.jp2
B12_20m.jp2
它们位于不同的子文件夹中。这就是我使用 recursive=TRUE
的方式
我已经尝试使用以下选项来组合条件,但它不起作用。
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m.jp2$ | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
对于其他用户和基于@docendo discimus 的回答,这里的想法是在列出文件时结合不同的条件,就像我的情况一样。我的条件是基于字母 B 后面的数字,所以:
pattern="B( here we need to write the conditions).jp2$
首先,我们将设置导入文件B02_10m、B03_10m、B04_10m、B08_10m
的条件
patter="B(FIRST CONDITION OR SECOND CONDITION).jp2$
pattern="B((0[2348]_10m)|SECOND CONDITION).jp2$
其次,我们将导入文件 B05_20m、B06_20m、B07_20m、B8A_20m、B11_20m、B12_20m。在这种情况下,我们必须组合几个子条件,因为模式从例如:02 变为 11、12 和 8A
首先我们写5、6、7的代码
pattern="B((0[2348]_10m)|((0[567])_20m)).jp2$
然后我们添加波段 11 和 12 的代码
pattern="B((0[2348]_10m)|((0[567])|(1[12])_20m)).jp2$
那么,8A的代码
pattern="B((0[2348]_10m)|(((0[567])|(1[12])|(8A))_20m)).jp2$
希望清楚
我有以下栅格,想将它们导入 R。我的文件现在称为:
B02_10m.jp2
B03_10m.jp2
B04_10m.jp2
B08_10m.jp2
B05_20m.jp2
B06_20m.jp2
B07_20m.jp2
B8A_20m.jp2
B11_20m.jp2
B12_20m.jp2
它们位于不同的子文件夹中。这就是我使用 recursive=TRUE
我已经尝试使用以下选项来组合条件,但它不起作用。
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m.jp2$ | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
S2 <- "my/path"
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern = "B0[2348]_10m | B(0[567]_20m)|(1[12]_20m)|(8A_20m).jp2$")
对于其他用户和基于@docendo discimus 的回答,这里的想法是在列出文件时结合不同的条件,就像我的情况一样。我的条件是基于字母 B 后面的数字,所以:
pattern="B( here we need to write the conditions).jp2$
首先,我们将设置导入文件B02_10m、B03_10m、B04_10m、B08_10m
的条件patter="B(FIRST CONDITION OR SECOND CONDITION).jp2$
pattern="B((0[2348]_10m)|SECOND CONDITION).jp2$
其次,我们将导入文件 B05_20m、B06_20m、B07_20m、B8A_20m、B11_20m、B12_20m。在这种情况下,我们必须组合几个子条件,因为模式从例如:02 变为 11、12 和 8A
首先我们写5、6、7的代码
pattern="B((0[2348]_10m)|((0[567])_20m)).jp2$
然后我们添加波段 11 和 12 的代码
pattern="B((0[2348]_10m)|((0[567])|(1[12])_20m)).jp2$
那么,8A的代码
pattern="B((0[2348]_10m)|(((0[567])|(1[12])|(8A))_20m)).jp2$
希望清楚