Como manipular arquivos em r

Video: Dicas do R - Como importar planilhas do excel - Video aula 1

Ocasionalmente, você pode querer escrever um script em R que irá percorrer uma determinada pasta e executar ações em todos os dados nos arquivos ou um subconjunto de arquivos na pasta.

Para obter uma lista de arquivos em uma pasta específica, use list.files () ou dir (). Estas duas funções fazem exatamente a mesma coisa, mas por razões de compatibilidade para trás, a mesma função tem dois nomes:

gt; list.files (file.path ("F:", "git", "roxygen2")) [1] "roxygen2" "roxygen2.Rcheck"[3] "roxygen2_2.0.tar.gz" "roxygen2_2.1.tar.gz"
FunçãoDescrição
Iist.filesLista arquivos em um diretório.
list.dirsListas subdiretórios de um diretório.
o arquivo existeTesta se um arquivo específico existe em um local.
File.CreateCria um arquivo.
file.removeExclui arquivos (e diretórios em sistemas operacionais Unix).
tempfileRetorna um nome para um arquivo temporário. Se você criar um arquivo
- por exemplo, com File.Create ()
ou write.table () usando este nome retornado
- R criará um arquivo em uma pasta temporária.
tempdirRetorna o caminho de uma pasta temporária arquivo no seu arquivo
sistema.

Em seguida, você começa a exercer todo o seu conhecimento sobre como trabalhar com arquivos. No próximo exemplo, você primeiro criar um arquivo temporário, em seguida, salvar uma cópia do íris quadro de dados a este arquivo. Para testar se o arquivo está no disco, você, em seguida, ler o arquivo recém-criado para uma nova variável e inspecionar esta variável. Finalmente, você excluir o arquivo temporário do disco.

Comece usando o tempfile () funcionar para retornar um nome para uma cadeia de caracteres com o nome de um arquivo em uma pasta temporária em seu sistema:

gt; meu arquivo lt; - tempfile () gt; my.file [1] "C: Users Andrie AppData Local Temp RtmpGYeLTj file14d4366b6095"

Observe que o resultado é puramente uma cadeia de caracteres, não um arquivo. Este arquivo ainda não existe em qualquer lugar. Em seguida, você salvar uma cópia do quadro de dados íris para meu arquivo usando o write.csv () função. Em seguida, use list.files () para ver se R criou o arquivo:

gt; write.csv (íris, arquivo = my.file) gt; list.files (tempdir ()) [1] "file14d4366b6095"


Como você pode ver, R criou o arquivo. Agora você pode usar read.csv () para importar os dados para uma nova variável chamada file.iris:

Video: COMO IMPORTAR ARQUIVOS NO R

gt; file.iris lt; - read.csv (my.file)

Usar str () para investigar a estrutura de file.iris. Como esperado file.iris é um quadro de dados de 150 observações e seis variáveis. Seis variáveis, você diz? Sim, seis, embora o original íris só tem cinco colunas.

O que aconteceu aqui foi que o valor padrão do argumento row.names do read.csv () é row.names = TRUE. (Você pode confirmar isso, tendo um olhar mais atento sobre a Ajuda ?read.csv ().) Então, R salvou os nomes de linha originais de íris para uma nova coluna chamada X:

gt; str (file.iris) `data.frame`: 150 obs. de 6 variáveis: $ X: int 1 2 3 4 5 6 7 8 9 10 ... $ Sepal.Length: Num 4,9 4,7 4,6 5,1 5 5,4 4,6 5 4,4 4,9 ... $ Sepal.Width: Num 3,5 3 3,2 3,1 3,9 3,4 3,4 3,6 2,9 3,1 ... $ Petal.Length: Num 1,3 1,5 1,4 1,4 1,4 1,7 1,4 1,5 1,4 1,5 ... $ Petal.Width: Num 0,2 0,2 ​​0,2 ​​0,2 ​​0,2 ​​0,4 0,3 0,2 0,2 ​​0,1 ... $ Espécie: factor de w / 3 níveis "setosa","versicolor", ..: 1 1 1 1 1 1 1 1 1 1 ...

Para deixar o seu sistema de arquivos na sua ordem original, você pode usar file.remove () para excluir o arquivo temporário:

Video: Como rodar/ler arquivos .MKV .3GP .VOB .FLV .RMVB e Outros! (Funciona 2017)

gt; file.remove (my.file) gt; list.files (tempdir ()) caracteres (0)

Como você pode ver, o resultado de list.files () é uma cadeia de caracteres vazia, porque o arquivo não existe mais nessa pasta.


Publicações relacionadas