La sortie lors de la vérification d'un répertoire vide avec R de list.files()
est une chaîne de caractères ...Comment convertir une sortie list.files() en un int?
> list.files('/home/someDir')
character(0)
Mais je voudrais tester sa longueur et l'utiliser dans une structure de contrôle comme
> current <- '/home/someDir'
> dirPick <- function(){
tryCatch(
if (length(list.files(current) > 0)) {
dirData <- current
} else {
dirData <- old
}
)
}
Mais l'objet retourné par list.files()
ne se comporte pas comme je pense:
> list.files('/home/someDir') == 0
logical(0)
> as.numeric(list.files('/home/someDir')) == 0
logical(0)
Je ne sais pas, je comprends le différent entre un logique et un booléen, mais pourquoi cela n'agit-il pas comme un entier zéro?
Ou '! Longueur (...)' bien que cela soit moins lisible. – Frank