1.5 Área de trabalho vs. Pasta de Trabalho
Dois conceitos são fundamentais para trabalhar no R:
- Área de Trabalho (
environment
no R) - é o local dentro do R onde você coloca os objetos criados durante a execução de scripts. Você pode visualizar/apagar os objetos no Console:
ls() # ls= listar - já vimos que isso lista os objetos criados por você e que estão na área de trabalho
# veja o help desta função
?rm rm(objum) # rm = remover - esta função apaga objetos da área de trabalho. No exemplo estamos apagando o objeto chamado objum, criado anteriormente
ls() # note agora que o objeto não existe mais
rm(list = ls()) # desse jeito apagamos todos os objetos que criamos anteriormente
ls() # note que não sobrou nenhum objeto
- Pasta de Trabalho (
working directory
- é o local (pasta) no seu computador que o R usa para salvar arquivos. É o caminho padrão para o R encontrar arquivos de dados, scripts, etc. Você pode trabalhar no R sem definir uma Pasta de Trabalho mas é muito mais simples se você usa este recurso. Experimente a seguinte script:
getwd() # o nome desta função é abreviação de "get working directory" ou seja "pega a pasta de trabalho definida". A resposta deste código varia dependendo do seu sistema operacional. Mas a função retorna o caminho completo da pasta de trabalho atual
Toda vez que você usar o R, é uma boa prática primeiramente definir a pasta de trabalho, que é o local no seu computador onde você guarda os arquivos relacionados ao seu projeto (dados, scripts, resultados etc.).
Você pode definir a pasta de trabalho usando o menu do R (Arquivo ⇒ Diretório de Trabalho
no Windows; ou Misc ⇒ Muda Pasta de Trabalho
no Mac).
Ou você pode usar uma função:
# veja o help da função que iremos utilizar
?setwd <- "/Users/BetoVicentini/Desktop/bot89-2016"
minhapasta # se estiver usando windows:
# minhapasta = "c:/Users/BetoVicentini/Documents/bot89-2016"
# minhapasta = "c:\\/Users\\/BetoVicentini\\/Documents\\/bot89-2016" #talvez precise usar barras invertidas
setwd(dir = minhapasta) # usa a funçao "set working directory" para especificar o diretório (pasta) de trabalho
# note que eu defini dir primeiramente como o objeto "minhapasta" usei esse objeto para especificar o objeto "dir", que é o único argumento da função setwd()
Objetos criados no R por você podem ser salvos como um arquivo no seu computador. Você pode usar o menu do R ou RStudio para isso ou pode usar o comando abaixo:
# veja o help desta função que vamos utilizar
?save # veja o help desta função que vamos utilizar
?save.image
# se sua área de trabalho estiver vazia
ls() # se nao retorna nada porque voce apagou acima
# crie alguns objetos para o exercício
<- "um objeto de texto qualquer"
objum
objum<- 18 # um objeto com um número qualquer
objdois
objdois<- objum # um objeto idêntico a objum
banana
# pronto, agora mostre todos os objetos na sua AREA DE TRABALHO
ls()
# agora salve esse objetos como um arquivo na sua PASTA DE TRABALHO
getwd() # veja onde o arquivo será salvo
# se voce quer salvar todos os objetos
save.image(file = "meusObjetos.Rdata")
# se voce quer salvar apenas alguns objetos
save(objum, banana, file = "meusObjetos2.Rdata")
# veja que na sua pasta de trabalho getwd() voce tem esses arquivos
dir() # lista arquivos na sua pasta de trabalho (análoga a função ls() que lista objetos)
dir(pattern = "Rdata") # lista apenas arquivos que tem no nome ".Rdata"
# apaga os objetos todos
rm(list = ls())
ls() # note que não tem mais objetos na sua área de trabalho, mas pode resgatar objetos que salvou num arquivo Rdata:
load(file = "meusObjetos2.Rdata") # puxa os objetos neste arquivo que está na sua pasta de trabalho
ls() # note que ele puxou os objetos objum e banana que salvamos acima neste arquivo
# puxe o outro arquivo gerado
load(file = "meusObjetos.Rdata") # puxa os objetos neste arquivo que está na sua pasta de trabalho
ls() # veja novamente os objetos na sua área de trabalho: Todos os objetos são listados. Se fizer isso e já houver objetos com o mesmo nome na sua área de trabalho, estes serão sobrepostos.
Portanto, Área de Trabalho e Pasta de Trabalho são dois conceitos fundamentais que você precisa entender bem, pois define como e onde você estará salvando informação quando usar o R, tanto em termos de objetos (área de trabalho) como em termos de arquivos (pasta de trabalho).
Se você digita q()
, que é a função para sair do R, ele geralmente lhe pergunta se você quer salvar os objetos numa área de trabalho padrão (que o R puxa quando você o inicia):
q() # sai do R
# vai perguntar no Console algo do tipo "Save workspace image to ~/Desktop/bot89-2016/.RData? [y/n/c]:"
# note que o arquivo não tem nome apenas extensão ".RData" e é salvo na pasta de trabalho definida com setwd().
Códigos de scripts podem ser executados no console sem necessidade de abrir o script. Por exemplo, suponha que eu tenha salvo o seguinte script num arquivo script01.R
:
<- "meu primeiro objeto de texto"
objum <- 18 # meu primeiro objeto numérico
objdois <- objum banana
Se este arquivo Scrip01.R está na minha pasta de trabalho, então posso executá-lo com a função source()
:
dir(pattern = ".R") # mostra os arquivos .R que estão na pasta de trabalho
rm(list = ls()) # apaga todos os objetos, para ver que ele irá criar os objetos indicados no arquivo
ls() # nao tem nenhum objeto
source("script01.R")
ls() # os objetos foram criados como especificado no script