Você está na página 1de 20

Programação Estatística

Material Teórico
Vetores, Matrizes, Fatores e Funções

Responsável pelo Conteúdo:


Prof.ª Me. Jessica Barbara da Silva Ribas

Revisão Textual:
Prof. Me. Claudio Brites
Vetores, Matrizes, Fatores e Funções

• Vetores, Matrizes, Listas e Arrays;


• Factor;
• Funções.

OBJETIVO DE APRENDIZADO
• Habilitar o aluno a criar R scripts utilizando uma estrutura de dados convencionais, fatores
e funções.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.

Mantenha o foco!
Evite se distrair com
as redes sociais.

Seja original!
Nunca plagie
trabalhos.

Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;

Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma


alimentação saudável pode proporcionar melhor aproveitamento do estudo;

No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados;

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de
aprendizagem.
UNIDADE Vetores, Matrizes, Fatores e Funções

Vetores, Matrizes, Listas e Arrays


O ambiente R foi desenvolvido para realizar operações matemáticas complexas
de uma maneira simplificada, por isso nos cálculos, em sua concepção, é comum a
utilização de estruturas de dados como vetores, listas, arrays e matrizes.

Vetor
Um vetor é definido como um conjunto de dados do mesmo tipo atribuído ou ins-
tanciado em um objeto unidimensional, ou seja, que possui uma dimensão. Um ve-
tor é criado ao se utilizar a função “c()”, chamada concatenar, conforme mostrado na
Figura 1. Diferente de outras linguagens de programação, no R um vetor não possui
um tamanho pré-definido e/ou fixo, e também não é possível criar vetores vazios.

Figura 1 – Exemplo de criação de vetores

Imagine precisar criar um vetor com mais de 100 posições, seria muito inconve-
niente a digitação dos cem elementos na criação do vetor. Por isso existem algumas
funções que podem ajudar nessa tarefa, são elas: “seq()”, “rep()”, juntamente com o
operador “:” – neste caso os dois pontos são usados como from/to ou de/para, ou
indicadores de intervalo.

A função “seq()” cria números inteiros ou reais em forma sequencial, podendo


definir a maneira do intervalo dos números entre eles e o tamanho do vetor, con-
forme exemplificado na Figura 2.

8
Figura 2 – Criação de vetor utilizando a função “seq()”

A função rep() cria uma sequência de números repetidos na quantidade indicada.


Também é possível utilizar essa função junto com o operador “:” na criação do ve-
tor, assim como exemplificado na Figura 3.

Um vetor pode ser visto como um agrupamento “em uma linha” dos valo-
res agrupados. Pensando por esse lado, é possível atribuir um nome a cada
elemento do vetor pela função “name()”, a sintaxe do comando é name(vetor)
<- c(“nome1”,....,”nomeN”). Quando o vetor contendo os apelidos é maior do que
o tamanho do vetor a ser nomeado, será apresentada uma mensagem de erro;
porém, na situação inversa, será atribuído o valor padrão de “NA” (Não Atribuído)
aos valores faltantes.

Figura 3 – Criação de vetor com a função rep()

9
9
UNIDADE Vetores, Matrizes, Fatores e Funções

Você pode visualizar um único dado do vetor por meio do índice, o comando
genérico é objeto[índice], por exemplo: meuVet[1] retornará “1”. No R, as estruturas
de dados têm o índice iniciado em 1; caso coloque o comando meuVet[0], o valor
retornado será character(0).

A inserção ou exclusão de novos valores no vetor é feita pelo índice do vetor.


Geralmente a inserção de novos elementos é feita no final do vetor e, como tudo
em programação, há várias maneiras diferentes de realizar essa tarefa. Utilizaremos
a função “length()”, que retornará o tamanho do vetor, conforme exemplo a seguir,
em que o novo índice do meuVet está recebendo o valor “c”:

meuVet[length(meuVet) + 1] <- “c”

A exclusão de valores em vetores ocorre por meio do índice. Pode-se excluir um


ou mais valores de uma vez, conforme mostrado na Figura 4, nas linhas 27 e 28 –
na primeira, exclui-se somente o índice 3; já na segunda, exclui-se os índices 1 e 2.

Figura 4 – Inclusão e exclusão de elementos vetor


Explor

Adicionando e Removendo Elementos em Vetores: https://youtu.be/s9hbPGgoqao

Matriz
Uma matriz é um conjunto de dados de mesmo tipo organizados em duas dimen-
sões, ou seja, os dados estão organizados em linhas e colunas. A função “matrix”
cria uma matriz, tendo os parâmetros obrigatórios “ncol” (número de colunas) e
“nrow” (número de linhas). A sintaxe básica do comando é:

10
matrix(data= “valores a preencher a matriz”,nrow = valor ,ncol = valor)

É possível criar matrizes vazias. Para tanto, não coloque o parâmetro data e a
matriz será preenchida com o valor “NA” em todas as posições, conforme mostra-
do na Figura 5.

Figura 5 – Exemplo de criação de matrizes

Por regra da função, os dados da matriz serão preenchidos (organizados) por


coluna. Caso queira que a organização seja realizada por linha, deve-se indicar o
valor verdadeiro para o parâmetro byrow, conforme exemplo das linhas 75 e 76
na Figura 5.

Assim como no vetor, a matriz permite que as linhas e colunas recebam “apeli-
dos” ou nomes da dimensão. Para tanto, basta preencher o parâmetro “dimnames”,
conforme exemplo a seguir:

a_matrix <- matrix( 1:12, nrow = 4, #ncol = 3 funciona do mesmo jeito

dimnames = list( c(“linha1”, “linha2”, “linha3”, “linha4r”),

c(“col1”, “col2”, “col4”) ))


Explor

Criando Matrizes: https://youtu.be/t4FdDxYlTUY

Note que a matriz possui dois índices, um para linha e o outro para a coluna.
Para acessar um valor de dentro da matriz, precisa indicar corretamente essa posi-
ção, por exemplo: pMatriz[4,1] = 4 ou pmatriz[3,2] = 7.

O R contempla todas as operações matriciais, desde uma multiplicação simples


a uma multiplicação matricial, conforme mostra a Figura 6.

11
11
UNIDADE Vetores, Matrizes, Fatores e Funções

Figura 6 – Operações matriciais


Explor

Álgebra Matricial em R: https://bit.ly/2ZScMEJ

Array
Um array é um agrupamento “retangular” multidimensional de dados, sendo
que todas as linhas possuem o mesmo comprimento da quantidade de colunas.
Imagine que um array faça o agrupamento de matrizes, podendo assim trabalhar
com dados em mais de duas dimensões.

A função array() cria essa estrutura, mas se faz necessário preencher o parâ-
metro “dim”, pois esse indica como será a organização da estrutura, conforme
exemplificado na Figura 7.

12
Figura 7 – Criação de Array

Lista
Uma lista é um objeto que pode armazenar objetos de tipos de dados e tama-
nhos variados, ou seja, cada item de uma lista pode ser um objeto diferente. Seria
uma coletânea de dados diferentes organizados em níveis e subníveis.

Para criar uma lista, utiliza-se a função list(). Entre os parênteses, deve-se colo-
car os itens da lista (objetos) separados por virgulas. Na Figura 8, é apresentado o
exemplo da criação de uma lista contendo dois vetores, um array e uma variável
do tipo texto.

Diferente das demais estruturas de dados, o índice de cada item da lista é for-
mado por dois colchetes [[índice]], ou seja, para acessar a um item específico dessa
lista, faz-se necessário indicar dessa forma; contudo, se os itens possuírem ape-
lidos (nomes), é possível acessá-los utilizando a sintaxe lista$item. Para acessar
no item números o valor 5, precisaria indicar o índice do 5 em números assim:
lista$numeros[2].

13
13
UNIDADE Vetores, Matrizes, Fatores e Funções

Figura 8 – Lista criar e visualizar dados

Categorizar os dados na lista pode facilitar na classificação dos mesmos em


grupos e subgrupos relacionados a um determinado assunto. Contudo, deve-se
tomar cuidado com a organização dos itens e subitens (listas e sublistas), pois isso
pode aumentar a complexidade da organização dos dados, podendo influenciar
no tempo de processamento, visto que será necessário mais tempo de “limpeza” e
organização antes do processamento.

Factor
Conceitualmente um factor ou fator é formado por estruturas de dados para
ordenar e categorizar strings. Oficialmente, um fator é definido como um vetor do
tipo inteiro com dois atributos específicos: levels e class.
• Levels: são m vetores de strings, que indicam a relação de ordem entre os objetos;
• Class: ao executar o comando class(objeto), o valor retornado será o factor.

Os fatores são muito úteis quando se faz necessário ordenar vetores textuais ou
“transformar” palavras em números, principalmente quando se precisa plotar grá-
ficos ou organizar tabelas, conforme mostrado na Figura 9.

14
Figura 9 – Organização dos meses do ano, utilizando factor e mostrando em tabela

Funções
Segundo Oliveira (2018), as “funções encapsulam uma sequência de comandos
e instruções”, ou seja, uma função pode ser definida como um bloco de comandos
nomeado, que executará somente ao receber uma solicitação e retornar um valor.

Como o R é uma linguagem de programação funcional, todos os seus comandos


básicos (R base) são funções que realizam determinada tarefa. Todos os pacotes dispo-
níveis também são conjuntos de funções desenvolvidos e validados pela comunidade.

Você deve estar questionando: “Mas tudo isso já foi dito antes, qual é a novida-
de?”. Simples: poder desenvolver suas próprias funções e ir as usando nos outros
scripts. A sintaxe básica de uma função é:

nome_funcao <- function(parâmetro){


<comandos>
return(valor retornado)
}
Nome_funcao(valor_passado)

Tenha em mente que a função pode ser um trecho de código que será realizado
diversas vezes e que, assim, não precisará ser reescrito repetitivamente. Isso traz o
aproveitamento de código, pois uma mesma função pode ser utilizada em mais de
um script.

15
15
UNIDADE Vetores, Matrizes, Fatores e Funções

A Figura 10 mostra uma função desenvolvida com o objetivo de verificar se o


objeto é um vetor ou outra das estruturas de dados discutidas nesta unidade. Na aba
console, é possível perceber que a função só foi executada após a realização de sua
chamada “func_vetor(elementos)”.

Uma função bem concebida jamais manipula nenhuma variável, além das re-
cebidas como parâmetros, por esse motivo pode-se haver funções com o mesmo
nome, mas com quantidades e/ou parâmetros diferentes.

Dentro de uma função pode haver chamadas de outras funções e até mesmo
a chamada da própria função – quando uma função chama ela mesma, ocorre
a recursividade.
Explor

Recursividade: https://bit.ly/2M951qq

Figura 10 – Função para verificar estrutura de dados do objeto

As boas práticas de programação indicam que não se deve deixar as funções


espalhadas em meio ao código fonte. O ideal é organizá-las ou num logo abaixo
do cabeçalho ou da leitura de arquivos externos. Caso queira, pode-se salvar suas
funções em um script específico para isso e importar o arquivo de script.

Pode parecer bobagem, porém, para atualizar o código fonte, ou facilitar a lei-
tura por outras pessoas, a organização do mesmo facilita em seu entendimento.

16
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Leitura
Como Criar uma Lista em R
https://bit.ly/2MOVyEw
Manipulando Fatores
https://bit.ly/2KEImzh
Entendendo Recursão
https://bit.ly/2MK0udL
Criando Vetores com R
https://bit.ly/2ZKEUcy

17
17
UNIDADE Vetores, Matrizes, Fatores e Funções

Referências
DA SILVA, L. A.; PERES, S. M.; BOSCARIOLI, C. Introdução à mineração de da-
dos: com aplicações em R. São Paulo: Elsevier Brasil, 2017.

DEPARTMENT of Statistic Berkeley. Factors in R. Statistic Berkeley, 2006.


Disponível em: <https://www.stat.berkeley.edu/~s133/factors.html>. Acesso em:
30 jun. 2019.

FERREIRA, E.; LISBOA, W. Introdução ao R: curso básico de linguagem R. [s.l.]:


Book Down, 2018. Disponível em: <https://bookdown.org/wevsena/curso_r_tce/
curso_r_tce.html>. Acesso em: 30 jun. 2019.

OLIVEIRA, P. F. de; GUERRA, S.; MCDONNEL, R. Ciência de Dados com R


– Introdução. Brasília: Editora IBPAD, 2018. Disponível em: <https://www.ibpad.
com.br/o-que-fazemos/publicacoes/introducao-ciencia-de-dados-com-r/>. Acesso
em: 30 jun. 2019.

THE COMPREHENSIVE R Archive Network. Cran R, 2019. Disponível em:


<https://cran.r-project.org>. Acesso em: 30 jun. 2019.

WICKHAM, H. Syle Guide. Advanced R, 2014. Disponível em: <http://adv-r.had.


co.nz/Style.html> Acesso em: 30 jun. 2019.

__________. R for Data Science. O’Reilly, 2017. Disponível em: <https://r4ds.


had.co.nz> Acesso em: 30 jun. 2019.

18

Você também pode gostar