2014-01-10 3 views
1

, 그래서이 간단한 질문 수 있습니다 경우R :. (file.exists (난 그냥 R을 배우고

은 내가 실행하려는 코드의 무리를 한 경우 이전에 생성 된 특정 파일 경로 코드는 그래서 ...

1.A 경로, 다음 코드의 나머지 부분이이

를 실행해야합니다

경로가 존재 2.If

생성됩니다. 존재하는 어떤 코드 모양의이 부분 like :

label_file=paste(label_folder,"Files/",as.matrix(babble_data)[n,3],label_extension,sep="") 

if (file.exists(label_file){... 

오류가 발생하지 않고 실행 중이지만 존재하지 않는 모든 파일 경로 (심지어 존재하는 파일조차도)를 처리하고 있습니다.

구문이 올바르지 않습니까? 내가 찾을 수있는 모든 예는 이와 같이 보입니다. 그래서 내가 예상했던대로 작동하지 않는 이유를 알 수 없습니다. 어떤 생각? 감사.

+0

왜 모든 경로를 목록에 저장하고 목록의 각 요소 (파일 경로)를 사용하여 작업을 수행하지 않는 것이 좋을까요? – rawr

+0

'label_file'을 생성 한 후 그것을 인쇄하고 그 값이 올바른지 확인하십시오. label_folder (끝 부분에 슬래시가 있습니까?)와'label_extension' (시작 부분에 마침표가 있습니까?)이 표시되지 않으므로이 문제를 디버그하기가 어렵습니다. – josliber

답변

0

중괄호 앞의 if 문에 닫는 둥근 괄호가 없습니다. 코드 파싱 오류가 가장 가능성이 있지만 모든 가능한 부작용이있을 수 있습니다.

또한 as.matrix(babble_data)[n,3]은 결과 벡터를 생성 할 수 있으므로 paste은 파일 이름 벡터를 생성 할 수 있으며 if (file.exists(이 실패합니다.

관련 문제