3.1 no modo interativo
No Linux o pode ser aberto simplesmente digitando em um terminal a letra R
.
$ R
R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
Copyright (C) 2020 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 apresenta o prompt do (>
). Após este símbolo digitamos os comandos, pressionamos a tecla <enter>
, o 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 . Portanto, a linha de comando é a mais importante ferramenta do , pois todas expressões são avaliadas através dela.
> 62 + 38
[1] 100
A expressão é avaliada pelo , 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 83
[19] 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65
[37] 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47
[55] 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29
[73] 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
[91] 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 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 instrução não estiver completa o sinal de +
se repetirá. Você pode cancelar a execução digitando Ctrl + c
ou Esc
. No código abaixo isso acontecerá até que você digite o número que deseja subtrair de 4, no caso de o número 3.
> 4 -
+
+ 3
[1] 1
3.1.1 Expressões em sequência
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 83
[19] 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65
[37] 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47
[55] 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29
[73] 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11
[91] 10 9 8 7 6 5 4 3 2 1
[1] 3628800
[1] 1
3.1.3 Comentários
No , a cerquilha #
(hashtag) é um caractere especial. Qualquer coisa após esse caractere será ignorada pelo . Somente as expressões antes da #
são avaliadas. Com esse símbolo podemos fazer anotações e comentários no código sem atrapalhar a interpretação das expressões pelo .
> # Comentários de novatos
> # o operador + adiociona o num. da esquerda ao da direita
> 17 + 3 # como somar números
[1] 20
Comentários que não desejo ver você fazendo após este curso:
# Não sei por que isso funciona, mas resolve o problema.
# rm(list = ls()) # Se esta linha for descomentada o programa explodirá
# Este código é péssimo, você sabe e eu sei, mas são 3 horas da manhã e preciso que isso funcione.
# Se, futuramente, ler isso, voltarei no tempo e me matarei.
# Isto é magia negra de algum link do stackoverflow. Não brinque com magia, ela pode te arrancar pedaço.
# Este código funcionou antes, mas meu gato decidiu fazer uma viagem pelo meu teclado ...
# Se você está lendo isso, significa que você foi encarregado
# do meu projeto anterior. Eu sinto muito por você. Boa Sorte
# Vá com Deus.
# Quando eu escrevi isso, somente Deus e eu entendemos o que estava fazendo. Agora, somente Deus sabe.
# Haleluya eu posso ir para casa!
# Traduzido e adaptado de
# https://medium.com/javascript-in-plain-english/part-2-the-most-hilarious-code-comments-ever-9586592e3bec
3.1.4 Auto preenchimento de funções
O 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
3.1.5 Primeiro script
O trecho de código abaixo apresenta nas primeiras linhas algumas expressões do executadas anteriormente. Mas há também, na segunda parte, códigos para salvar um gráfico de pontos num arquivo pdf. Na última parte do trecho, define-se uma variável x
que contém aquela mesma sequência numérica usada no gráfico.
# Primeiro script no R
#----------------------------------------------------------------
# cálculos básicos
15 + 4
1:100
1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10
4 - 3
#----------------------------------------------------------------
# salvando um gráfico em um arquivo pdf
arquivo_pdf <- "plot-script1.pdf"
pdf(arquivo_pdf) # cria e abre um arquivo pdf
plot(1:100) # gera o gráfico
dev.off() # fecha o arquivo pdf
#----------------------------------------------------------------
# definindo uma variável x
x <- 1:100
x
Este conjunto de linhas de código, quando inseridos em um arquivo texto14 formam um primeiro script . Este script pode ser executado pelo através da função source()
, usando como argumento o caminho para o local do script.
> source("/home/usuario/adar/script1.R")
Este script produzirá como saída o arquivo /home/usuario/adar/plot-script1.pdf
. Você pode visualizar o arquivo para conferir o gráficos de pontos gerado.