使用R的list.files()
检查空目录时的输出是字符串...
> 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()
返回的对象并不像我期望的那样:
> list.files('/home/someDir') == 0
logical(0)
> as.numeric(list.files('/home/someDir')) == 0
logical(0)
我不确定我是否理解逻辑和布尔值之间的区别,但为什么这不像整数零呢?
答案 0 :(得分:2)
尝试:
length(list.files('/home/someDir')) == 0
值character(0)
表示某些像空变量。这就是为什么在没有length()
属性