No texto abaixo as expressões a serem avaliadas no R não serão mostradas com o prompt do R (>
) para tornar mais fácil de copiá-las e colá-las na linha de comando do R. O resultado da avaliação das expressões será mostrado precedido do símbolo (#>
). Esses valores são os resultados que esperam-se sejam reproduzidos também na sua sessão do R. Por exemplo:
1:5
#> [1] 1 2 3 4 5
No Linux o R pode ser aberto simplesmente digitando em um terminal a letra R
.
$ R
R version 3.4.4 (2018-03-15) -- "Someone to Lean On"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
>
A janela com a linha de comando do R apresenta o prompt do R (>
). Após este símbolo digitamos os comandos, pressionamos a tecla <enter>
, o R interpreta o comando e retorna o resultado. Os comandos digitados na linha de comando são chamados de expressões. Esse é o modo iterativo do R. Portanto a linha de comando é a mais importante ferramenta do R, pois todas expressões são avaliadas através dela.
62 + 38
#> [1] 100
A expressão é avaliada pelo R, o resultado é mostrado, mas o seu valor é perdido.
O número entre colchetes que aparece como resultado da operação (“[1]” no caso acima) indica o conteúdo resultante da operação iniciando na posição 1 desse objeto. O significado dessa informação torna-se mais óbvio quando trabalhamos com objetos maiores, como por exemplo com vetores. Observe os valores nos colchetes para uma sequência de 100 até 1.
100:1
#> [1] 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84
#> [18] 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67
#> [35] 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50
#> [52] 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33
#> [69] 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
#> [86] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
O elemento [18]
da sequência de 100 até 1 é o número 83
.
Pode ocorrer da expressão digitada na linha ser muito extensa e ir além de uma linha. Se a expressão estiver incompleta o R mostra um sinal de +
.
1 * 2 * 3 * 4 * 5 *
6 * 7 * 8 * 9 * 10
#> [1] 3628800
Execute a expressão abaixo até o sinal de menos e tecle <enter>
. Enquanto a expressão não estiver completa o sinal de + se repetirá. Até que você digite o número que deseja subtrair de 4.
4 -
3
#> [1] 1
Podemos executar todas expressões anteriores em apenas uma linha, usando o ponto e vírgula ;
para separar as expressões:
62 + 38; 100:1; 1 * 2 * 3 * 4 * 5 *6 * 7 * 8 * 9 * 10; 4-3
#> [1] 100
#> [1] 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84
#> [18] 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67
#> [35] 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50
#> [52] 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33
#> [69] 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
#> [86] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
#> [1] 3628800
#> [1] 1
As expressões também podem ser separadas por uma nova linha (<enter>
) entre cada um delas.
62 + 38
#> [1] 100
100:1
#> [1] 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84
#> [18] 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67
#> [35] 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50
#> [52] 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33
#> [69] 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
#> [86] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
1 * 2 * 3 * 4 * 5 *6 * 7 * 8 * 9 * 10
#> [1] 3628800
4-3
#> [1] 1
No R, a cerquilha #
(hashtag) é um caracter especial. Qualquer coisa após esse caracter será ignorada pelo R. Somente as expressões antes da #
são avaliadas. Por meio desse símbolo de comentário podemos fazer anotações e comentários no código sem atrapalhar a interpretação das expressões pelo R.
17 + 3 # adicionando 17 e 3
#> [1] 20
# A expressão abaixo será ignorada
# 10 + 4
O R inclui o preenchimento automático de nomes de funções e arquivos por meio da tecla <tab>
. Uma lista de possíveis funções que começam com as letras inicialmente digitadas aparecerão.
read#<tab> pressione <tab> para ver as opções de comandos que iniciam com o termo read
O uso da linha de comando do R é conveniente durante a análise de dados. Mas para algumas tarefas digitar cada comando pode se tornar incoveniente.
Por exemplo, você precisa visualizar graficamente os padrões de variaçao temporal de três variáveis meteorológicas antes e após a passagem sistemas meteorológicos precipitantes. Para esse propósito você precisará ler os dados da estação meteorológica (EM) que estão armazenados em um arquivo, fazer algumas conversões de unidades, plotar o gráfico com as séries temporais das variáveis e salvá-lo em um arquivo pdf
.
Suponha que você precise repetir esse processo para outras EM. Com o R, assim como em outras linguagem de programação, há uma forma de rodar um conjunto de comandos em sequência e salvar os resultados em um arquivo. Isso é possível através do modo Batch, ou seja a execução dos comandos sem inciar o R e sem a intervenção manual. Esse modo facilita a automatização de tarefas. Nesse caso, alterando apenas a variável que define o nome do arquivo da estação meteorológica, podemos reaplicar os mesmos comandos para outra EM.
Por exemplo, para rodar um suposto script gera_graficos.R
, sem ter que abrir o R e digitar os comandos para fazer o gráfico, utilizaríamos o comando:
$ R CMD BATCH gera_graficos.R
Podemos criar um arquivo texto chamado script1.R
e digitar todos comandos dessa aula nele.
$ cd /home/lsi/nomealuno
$ gedit script1.R &
Copie os comandos abaixo num arquivo novo criado no gedit ou outro editor de texto do Linux.
62 + 38
1:100
1 * 2 * 3 * 4 * 5 *6 * 7 * 8 * 9 * 10
4-3
## salvando um gráfico da sequência de 1 a 100 em um arquivo pdf
pdf("plot_script1.pdf") # cria e abre um arquivo pdf
plot(1:100) # faz o gráfico
dev.off() # fecha o arquivo pdf
Rode o R em modo Batch informando o nome do script.
$ R CMD BATCH script1.R
O R rodará os comandos dentro do arquivo especificado script1.R
e criará um arquivo de saída chamado script1.Rout
com os resultados. Você também pode especificar o nome daquele arquivo de saída. Por exemplo vamos salvar o arquivo de saída como saida_script1_aDataDeHoje.log
$ R CMD BATCH script1.R saida_script1_`date "+%y%m%d"`.log
Para mais informações sobre rodar o R na linha de comando do Linux digite no terminal $ R --help
.
No modo iterativo, ou seja pela linha de comando, também é possível rodar comandos no modo Batch através da função source()
.
source("R/script1.R")
notas de aula da aula2 estão disponíveis aqui
Próximo: Conhecendo o RStudio