我想使用图像文件名称的一部分来导入图像文件。我有100张.tif图片,它们的名字由3个不同的元素组成,比如Ai,Bi和Ci,它们的名字分别是:"A1 B1 C1.tif","A1 B2 C1.tif","A1 B1 C2.tif","A2 B1 C1.tif“……我在代码的开头定义了Ai、Bi和Ci,并希望调用包含这三个元素的文件。
我尝试了一些没有机会正确的选项,但找不到更好的:
f = readTiff(Ai Bi Ci)
f = readTiff(Ai, Bi, Ci)
f = readTiff("Ai Bi Ci")使用readImage和file.name也是如此。getwd给出了正确的路径。提前谢谢你。
发布于 2017-04-07 18:20:07
您可以使用paste命令将字符串粘合在一起。
# for i for A, j for B selection and k for C selection
my.filename <- paste("A", i, " B", j, " C", k, ".tif", sep = "")因此,如果您想导入A1 B2 C2.tif
i <- 1
j <- 2
k <- 2
my.filename <- paste("A", i, " B", j, " C", k, ".tif", sep = "")注意paste0默认为sep = "“so paste0("A", i, " B", j, " C", k, ".tif")
my.filename格式的结果
1) "A1 B2 C2.tif"如果您正在使用路径,则:
my.filename <- paste("A", i, " B", j, " C", k, ".tif", sep = "")
my.path <- getwd() # or set this
readTiff(file.path(my.path, my.filename))如果你想在循环中遍历i,j,k的所有组合,那么你可以使用file.exists,如果它做到了,那么就导入它。
注意:您在readTiff中使用的是哪个包?如果你收到"object not found“错误,不要忘了确保这个包被加载到你的脚本中,并使用library(thispackage)。
https://stackoverflow.com/questions/43275406
复制相似问题