2017-04-14 4 views
0

R의 list.files()와 빈 디렉토리를 확인 출력은 ...list.files() 출력을 int로 변환하는 방법은 무엇입니까?

> list.files('/home/someDir') 
character(0) 

문자열입니다하지만 길이를 테스트하고 같은 제어 구조를 사용하고 싶습니다

> current <- '/home/someDir' 
> dirPick <- function(){ 
    tryCatch(
     if (length(list.files(current) > 0)) { 
     dirData <- current 
     } else { 
     dirData <- old 
     } 
    ) 
    } 

그러나

> list.files('/home/someDir') == 0 
logical(0) 


> as.numeric(list.files('/home/someDir')) == 0 
logical(0) 

을 나는 다른 이해 확실하지 : 내가 기대처럼 list.files()에 의해 반환되는 객체는 행동하지 않는다 논리적이고 부울 인 사이에 ence하지만, 왜 이것이 단지 정수 0처럼 작동하지 않습니까?

답변

2

시도 :

length(list.files('/home/someDir')) == 0 

character(0)은 빈 변수 같은 몇 가지를 나타냅니다. 그 이유는 length() 속성

+0

없이는 합을 0으로 변환하거나 변환 할 수 없기 때문입니다. 읽기 쉽지는 않을지라도'! length (...) '입니다. – Frank