Escolar Documentos
Profissional Documentos
Cultura Documentos
Material Teórico
Variáveis, Tipos de Dados e Estruturas de Controle
Revisão Textual:
Prof.ª Me. Natalia Conti
Variáveis, Tipos de Dados
e Estruturas de Controle
• Variáveis;
• Tipo de Dados;
• Estruturas de Controle.
OBJETIVO DE APRENDIZADO
• Capacitar o aluno a escrever e entender R scripts simples.
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”;
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 Variáveis, Tipos de Dados e Estruturas de Controle
Variáveis
Computacionalmente, uma variável é um espaço alocado na memória RAM com
o objetivo de receber um determinado valor, por padrão ela deve ter um nome (e na
maioria das linhagens de programação ela deve ter um tipo de dados a ser recebido).
A partir desse momento o nome variáveis e objetos serão tratados como sinô-
nimos, porém essa nomenclatura só é válida no R. Pois em outras linguagens de
programação a noção de objetos e variáveis podem ter uma abordagem diferente.
Uma variável no R só passará a existir quando for atribuído um valor a ela, por
meio do comando <-. Na Figura 1, ao escrever valor sem atribuir qualquer dado e
executar, o resultado foi um erro dizendo que o objeto não foi encontrado.
Porém, ao executar o comando valor <- 3 a variável foi criada e passou a apare-
cer na aba “Environment/Global Enviroment/Values”, ou seja, ela foi instanciada
corretamente na memória RAM e agora está dentro da sessão R, conforme mos-
trado na Figura 2.
Os objetos criados podem receber qualquer valor, desde números, textos, equa-
ções matemáticas e fórmulas. Por isso criaremos os objetos “varInt”, “varNumero”
8
e “varTexto” conforme exemplo das figuras 1 e 2. Note que o valor entre aspas “”
ou ‘’ é reconhecido automaticamente como um texto.
Agora vamos criar uma variável cálculo que receberá a soma entre “varInt”,
“varNumero” e valor. Note que o cálculo será realizado normalmente, isso porque
o tipo de dados inteiro é um subtipo numérico, ou seja, todas as variáveis contêm
números e a ação de somar pode ser realizada.
Porém, ao tentar somar cálculo com “varTexto” irá ser apresentada uma mensa-
gem de erro no console, conforme ilustrado na Figura 3. Isso é a garantia de que os
dados de tipos incompatíveis não serão associados ou trabalhados de qualquer jeito.
Tipo de Dados
O R é uma linguagem de programação de tipagem fraca e dinâmica. Uma lin-
guagem de programação de tipagem fraca faz a conversão de tipos implicitamente,
por exemplo, na variável “cálculo” nós somamos variáveis numéricas e inteiras sem
precisar convertê-las.
9
9
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
10
A conversão de tipos ocorre usando as funções: “as.numeric()”, “as.integer()”,
“as.complex()”, “as.double()”, “as.logical()” e “as.character()”. Quando tentamos
converter um tipo numérico decimal em inteiro, o valor após decimal irá desapare-
cer, conforme exemplificado na Figura 5.
Uma tipagem dinâmica irá permitir que o objeto receba tipos diferentes de dados
enquanto ele existir. Podemos ver isso ao mudar o “convvalor” de número para
lógico, ao tentar converter o valor do objeto “varTexto” para número, e por não ser
possível devido à integridade da linguagem, a variável passou a ser numérica mais
o valor de NA.
11
11
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
Estruturas de Controle
Comumente, existem certas circunstâncias ou condições para que determinadas
partes de programa devam ou não serem executas. Para tanto, utilizam-se estrutu-
ras de controle de fluxo. O R disponibiliza as estruturas de controle de fluxo comuns
como: if, If else, for, while.
Primeira coisa que devemos ter em mente é que para utilizar um controle de
fluxo vamos precisar comparar valores, a fim de saber se a condição necessária foi
ou não atingida. Para tanto, utilizaremos os operadores de comparação e lógicos.
Operadores de comparação:
• Igualdade ==
• Não igual ou diferente !=
• Menor que <
• Maior que >
• Menor ou igual <=
• Maior ou igual >=
Operadores Lógicos:
• E &&
• OU ||
Os operadores lógicos são utilizados para concatenar mais de condição dentro
da mesma estrutura de controle, por exemplo: se meu saldo está maior que 10 e
não realizei uma refeição, então compre a comida.
Por padrão, para a execução de bloco de código, que utiliza o operador logico E,
todas as condições precisam ser verdadeiras, para que a sentença seja considerada
verdade. Já no operador OU, desde que umas das condições sejam satisfeitas a
sentença será considerada verdadeira.
12
Explor
Tabela Verdade: https://bit.ly/2ZzlDuv
If
Em uma estrutura if simples, o conjunto de códigos ou bloco de comandos
somente irá executar quando a condição for verdadeira. Caso a condição seja
falsa, todos os comandos dentro do If serão ignorados e a execução do script
seguirá normalmente.
If Else
A estrutura if else é utilizada quando temos duas opções de bloco de comandos
para uma condição, porém uma será executada quando a condição for verdadeira
e a outra será executada quando a condição for falsa.
13
13
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
14
Veja outros exemplos de If, If Else em R. Programação no R: if(), if() else e ifelse():
Explor
Switch
A função Switch permite a escolha de um item em uma lista de opções. Essa
escolha seguirá uma expressão ou regra passada à função, juntamente com a lista.
Laços de repetição
Os laços de repetição ou estrutura de looping são estruturas que permitem a
repetição de determinado conjunto de código, desde ou até que uma condição seja
satisfeita. Por exemplo, quando houver roupa suja lave-a ou envie currículos até
encontrar um emprego.
Explor
15
15
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
For
A Figura 10 mostra dois exemplos do laço de
repetição for, este foi utilizado como um conta-
dor de zero a 5 e 1 a 5, mostrando no console
os valores de i. Nesse caso, o comando for não
está utilizando as chaves para delimitar o início
e o fim do bloco de comandos, pois possui uma
única linha.
While
O Comando While requer que a variável de controle seja iniciada fora do laço,
pois o comando faz a verificação antes de executar o bloco de comandos. Caso a
variável de controle não satisfaça a condição, todo o conjunto de comando dentro
do While não será executado. Conforme mostra a Figura 13 no Lado B.
16
A sintaxe básica do comando While é:
Variável de controle
While (Condição) {linhas de código
Modificar variável de controle}
No Lado A o bloco de comandos foi executado com sucesso até que a condição
a menor ou igual a 5 foi alcançada, contudo no Lado B a variável a recebe 0 valor
de 10, não satisfazendo a condição, o conjunto de código foi ignorado.
Note que foi necessário incluir uma linha onde incrementa o valor da variável a
uma vez a cada looping. Comparar o While com o For nessa linha não foi neces-
sário, pois por regra o for já irá incrementar a variável de controle. Contudo, no
While essa linha se faz necessária para que o critério de parada seja alcançado.
Repeat
O Comando repeat irá repetir o bloco de comandos, porém ele não possui ne-
nhum critério de parada, assim faz-se necessário a utilização do comando if para
verificar a condição e o comando break() para parar o looping.
Variável de controle
Repeat{
Comandos
If( condição){ break()}
}
17
17
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
Uma diferença entre o For, While e Repeat é: enquanto o For tem sua variável
de controle dentro do laço de repetição, o While e o Repeat possuem variáveis
globais para seu controle, ou seja ao término da execução do programa, os objetos
do While e Repeat ficam na sessão R, mas a variável de controle do For não fica
disponível na sessão R.
18
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Vídeos
Aula 06 – Objetos, atributos e tipos de dados no R
CODIGOFLUENTE, Código Fluente. Aula 06 – Objetos, atributos e tipos de dados no R.
https://bit.ly/2MGRMg8
Leitura
Loops no R: usando o for()
ANALISEREAL, Analise Real. Loops no R: usando o for().
https://bit.ly/2KimieM
Condições no R
FILGUEIRA, Leonardo. Condições no R.
https://bit.ly/2GNB1w1
Loops no R
FILGUEIRA, Leonardo. Loops no R.
https://bit.ly/2MEmvur
19
19
UNIDADE Variáveis, Tipos de Dados e Estruturas de Controle
Referências
DA SILVA, L. A.; PERES, S. M.; BOSCARIOLI, C. Introdução à mineração de
dados: com aplicações em R. Elsevier Brasil, 2017.
Sites visitados
CRAN, The Comprehensive R Archive Network. <https://cran.r-project.org>.
Acessado em: 05/2019.
20