1.2 Linguagem objeto-orientada

A chave para entender o R é que trata-se de uma linguagem. Uma linguagem para manipular objetos (Venables e Ripley 2002). Um objeto é identificado por uma palavra e veremos ao longo do curso que existem vários tipos de objetos. Este é o conceito mais importante para entender o R.

Para começar, digite algumas coisas no Console do seu R ou RStudio. Por exemplo, digite uma fórmula matemática simples no console e o execute:

3 + 5 + 10
## [1] 18

O console retornou 18, isto é, o R funcionou como uma calculadora. Portanto, números são interpretados como números pelo console.

Agora vamos criar um objeto simples chamado objnum e atribuir texto a ele:

objum <- "vou colocar um texto dentro do meu primeiro objeto" # enter
objum # enter
## [1] "vou colocar um texto dentro do meu primeiro objeto"

Vejam que objum é o nome do meu primeiro objeto, e tem como conteúdo o texto que nós atribuímos a ele. Nós poderíamos ter chamado objum de qualquer coisa (sem espaços em branco):

banana <- "vou colocar um texto dentro do meu primeiro objeto"
banana
## [1] "vou colocar um texto dentro do meu primeiro objeto"
# mesma coisa né?

Um objeto também pode virar outro objeto. Vejamos abaixo:

objdois <- objum
objdois # pegou o conteúdo que eu coloquei em objum
## [1] "vou colocar um texto dentro do meu primeiro objeto"

Podemos guardar resultados de contas em um objeto:

objtres <- 3 + 5 + 10
objtres
## [1] 18

Note que o código exposto acima é geralmente o que está contido em um script, ou seja, a sequência de códigos que você escreveu e que o R interpretará para realizar o que foi dito. Se você copiar e colar o trecho (ou os trechos) de código acima em um arquivo .R, você poderá executá-los tantas vezes quanto quiser. Copie então todos os trechos de código expostos até então para a janela do script e salve-o como script01.R em alguma pasta no seu computador.

Note também que dependendo do está incluso no script, o código apresenta cores diferentes para comentários, objetos, e símbolos de atribuição. Isso ajuda a entender os elementos da sintaxe (vocabulário e gramática do R). IDE’s também mostram isso de forma colorida.

Note também que, à direita do símbolo #, o texto no código acima fica cinza. Este símbolo indica ao R que todo texto começando no # deve ser interpretado como texto apenas, e não como código. Comentar códigos é uma prática que deve ser tornar rotineira a fim de facilitar o entendimento de cada script.

Se você já está escrevendo um script num arquivo e não no console, selecione todo o texto na sua janela de script e digite Control+R (Windows), ou Command+Enter (Mac). O conteúdo do script será executado no Console. Note que o símbolo # não é interpretado pelo console.

O R vem com vários scripts prontos, que são funções que executam alguma coisa. Esses scripts são objetos de classe função, pois eles contêm um conjunto de códigos que utilizam parâmetros para executar um conjunto de passos. Parâmetros são objetos que a função utiliza segundo as suas especificações. Por exemplo, vamos listar os objetos criados no passo anterior:

# digite
ls() # note os parênteses (); a função ls() lista os objetos criados por você: [1] "banana"  "objdois" "objtres" "objum"

# adicione um parâmetro à função, especificando o que você quer listar, apenas aqueles que contém no nome o padrão "obj"
ls(pattern = "obj") # [1] "objdois" "objtres" "objum"

# agora veja o que a função ls é
ls # note que não digitei os parênteses e ao digitar isso verei o script que está dentro da função ls que começa assim: function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, pattern, sorted = TRUE)  { ....
# note que os argumentos da função são os objetos que vão dentro do () da função e são utilizados pela função para executar alguma coisa, neste caso, lista objetos. Experimente mudando parâmetros:
ls(sorted = FALSE) # ele mostra os objetos na ordem que foram criados

Referências

Venables, W. N., e B. D. Ripley. 2002. Modern Applied Statistics with S. New York: Springer. http://www.stats.ox.ac.uk/pub/MASS4.