Boa noite.
Eu estou precisando de uma função que me indicasse se um arquivo existe ou não.
Para isso tentei usar programação em R para fazer essa análise. Mas como nunca usei essa linguagem estou tendo algumas dificuldades.
O código que escrevi na ferramenta R foi:
dados <- read.Alteryx("#1", mode="data.frame")
arquivo <- dados$Arquivo
if (file.exists(arquivo))
{
write.Alteryx(arquivo,1)
}
O erro apresentado foi: Error: R (3): Error in file.exists(arquivo) : invalid 'file' argument
Obs.: Mesmo que exista um meio mais fácil de fazer esta consulta, gostaria de saber o porque esse código não funcionou.
Projeto modelo em anexo.
Se alguém puder me ajudar, agradeço.
Solucionado! Ir para Solução.
Olá @DiegoServulo, tudo bem?
Creio que este erro está acontecendo porque o R lê a sua coluna Arquivo como "Factor" e o file.exists() só aceita "character" como entrada. Isso deve resolver:
arquivo <- as.character(dados$Arquivo)
Quanto à clausula if do código, acho não vai funcionar porque o retorno do file.exists() é um vetor lógico de tamanho maior que 1. Uma possível solução seria apendar esse retorno como uma coluna no seu dataframe e filtrar os valores verdadeiros para conseguir o resultado que vc precisa.
Segue proposta em código:
dados <- read.Alteryx("#1", mode="data.frame")
arquivo <- as.character(dados$Arquivo)
dados$Existe <- file.exists(arquivo)
resultado <- dados[dados$Existe==TRUE,]
write.Alteryx(resultado, 1)
Segue em anexo o fluxo com o código acima. Espero que te ajude.
[ ]´s
Obrigada pela ajuda, @damc!