2017-04-07 69 views
1

我想用部分名稱導入圖像文件。我有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,並且想要調用包含這3個元素的文件。使用關鍵詞導入文件

我都試過,都沒有機會是正確的選擇,但不能找到更好的東西:

f = readTiff(Ai Bi Ci) 
f = readTiff(Ai, Bi, Ci) 
f = readTiff("Ai Bi Ci") 

,並使用readImage和file.name相同。這個getwd給出了正確的路徑。 預先感謝您。

回答

0

您可以使用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 = 「」 所以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)) 

如果你想通過我的所有組合工作,J,K的循環,那麼你可以使用file.exists,如果它再導入。

注意:您使用的包裝爲readTiff?如果您收到「找不到對象」錯誤,請不要忘記確保此包已加載到您的腳本中,使用library(thispackage)

+0

這樣做,非常感謝!我不知道在這種情況下可以使用粘貼。 – Gabriel123

+1

是的包被加載了庫(tiff):-) – Gabriel123

+0

當我忘記加載一個包時,有太多糟糕的早晨,所以我想我可能會把它扔進混合!我在配置中找不到'readTiff'。很高興現在工作正常。 – micstr