2013-05-16 3 views
1
library(raster) 
img <- list.files(pattern='*.img') 
stack <- stack(img) 

위 코드는 내 폴더에 * .img 파일이 있지만 * img.xml 및 * img.aux.xml 파일이 있지만 작동해야합니다. * .img 파일 만 겹치도록 코드를 다시 작성하려면 어떻게합니까?폴더의 래스터 이미지를 복사하십시오.

+1

아마도 개체를 만드는 함수와 동일한 이름으로 개체를 호출하지 않는 것이 가장 좋습니다. – mdsumner

+0

감사합니다 msdumner. 유명한. – Eddie

답변

7

img으로 끝나는 파일 만 일치합니다.

library(raster) 
img <- list.files(pattern='\\.img$') 
stack <- stack(img) 

참고 끝에 $,이 ends with을 의미합니다.

+0

그러나'*'는 필요하지 않습니까? –

+1

'*'을 삭제했지만 '.img'(즉, 파일의 확장자)와 일치하는지 확인하기 위해'.'도 이스케이프 처리했습니다. –

+0

대단히 감사합니다! – Eddie

2

pattern 인수는 정규 표현식입니다. .img으로 끝나는 파일 만 필요하므로, $ (문자열 앵커의 끝)을 추가하면 트릭을 수행해야합니다.

img <- list.files(pattern='\\.img$') 
+0

좋은 지적. 감사! 고쳤다. –

+0

당신 덕분에 루카스도. – Eddie