Capítulo 4 - Uma olhadinha rápida

Olhando um pouco o que o R faz, sem se preocupar com os detalhes

Bora olhar para uns gráficos e coisas assim?

Por Marcos Vital, do LEQ-UFAL

Este material foi construído com a ajuda de muitas pessoas que acreditam no LEQ e em Ciência Livre. Muito obrigado!

Para mais material, visite o Cantinho do R

Capítulo atualizado em 2017-01-07


Beleza! Então você agora já instalou o R e até fez umas continhas nele. Bom demais, não é? Bem, pode até ser, mas nós todos sabemos que você está aqui para usar o R para algum fim estatístico: uma análise aqui, um gráfico acolá, um teste danado de difícil que o orientador mandou fazer (mas sumiu feito Mestre dos Magos sem explicar nadinha), coisa assim. Como nosso caminho vai ser longo, nós vamos pegar um pequeno atalho, e brincar um pouco com algumas funções do R sem explicar ainda os detalhes, e sem mesmo se preocupar em saber tudo o que está acontecendo. A proposta aqui é mais olhar um pouquinho o que o R faz do que entender direito como ele faz; então tá mais para uma sessão que sevirá para você “sentir” o R.

Bora lá? Nós vamos dar uma breve espiada no funcionamento do R. Não se estresse com os detalhes agora: esse é um capítulo que, no futuro, você pode visitar de novo, e aí vai entender tudinho que rolou por aqui. Garanto. ;)


4.1 - Nós queremos dados

Afinal, é pra isso que queremos usar esse programinha, né não?

Para começar a brincar, nós vamos carregar um conjuntinho de dados de exemplo, que já vem com o próprio R “de fábrica”, e que são uma grande mão na roda na hora de aprendermos o programa. Então comece assim, ó:

data(iris)

Yeah, deu certo! :D

Mas pera, deu certo mesmo? O R nem disse nada…

Então, uma coisa pra se acostumar: existem muitos comandos que o R executa sem responder - ele simplesmente faz, e pronto. O que acontece nestes casos é que o R daria algum aviso se algo saísse errado, e aí sim ele nos daria uma mensagem de erro.

Sabe o que rola? É que o R, como qualquer linguagem de programação, é super literal na hora de entender e fazer o que pedimos pra ele. O nosso comando acima, no qual usamos a função data(), é uma função que serve para pedir ao R para carregar em sua memória um conjunto de dados que veio com o programa. Então podemos traduzir o comando usado acima da seguinte maneira:

R, carregue o conjunto de dados chamado iris na sua memória, ok?

Perceba que o R vai ler o pedido e tentar atender, até aí tudo bem. Mas agora veja o pedido de novo. Nós pedimos para o R carregar o conjunto de dados, e só. Em nenhum momento nós pedimos que ele fizesse algo mais! Nós não dissemos, por exemplo “carregue o tal conjunto de dados e depois confirme se deu certo” ou “carregue os dados e nos mostre uma parte deles” nem nada assim! Então o comportamento do R é simples e direto: ele faz o que pedimos, e só, nem mais nem menos.

Então vamos que tal dar mais instruções pro R? Depois de usar o comando anterior, podemos fazer o seguinte:

head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

Tcharam!!!! :D

Agora o nosso pedido foi o seguinte:

R, mostre as seis primeiras linhas dos dados armazenados no objeto iris

Aí ele foi e fez. Bom demais, né não? ;)

Aqui começa a aparecer a base do funcionamento do R. Nós temos as funções que são as coisas que a gente pede pro R fazer. E nós temos os objetos que são as coisas salvas na memória dele.

As funções possuem argumentos, que são os detalhes do que estamos pedindo, lembra? No caso acima, entao, nós usamos a função head(), que serve para o R mostrar as seis primeiras linhas de um conjunto de dados; e no caso que aplicamos o argumento foi o nome do conjunto de dados.

Todas as funçõe seguem o formatinho função(argumento1, argumento2, argumentos...). O R entende, então, que queremos pedir alguma coisa quando escrevemos o nome da função seguido de parênteses. Aí, dentro dos parênteses, damos os detalhes, separando por vírgula se tivermos vários detalhes para passar pra ele. Sacou?

Quase tudo que fazemos no R é isso: usamos funções para fazer coisas com objetos. Então é mais simples do que parece, e na medida em que nos acostumamos com o formato e aprendemos a reconhecer as funções mais comuns, as coisas vão fluindo com cada vez mais facilidade. Ufa!