Conceitos básicos de R¶

Index:

  • 1. Instalando o R e o RStudio
  • 2. O RStudio
  • 3. Comandos básicos
    • 3.1.Comentários
    • 3.2.Imprindo informações na tela
    • 3.3. Criando variáveis
    • 3.4. Operações matemáticas
    • 3.5. Operações lógicas

Index

Instalando o R e o RStudio¶

  • Antes de instalar o R, é importante entender que R e RStudio são coisas diferentes
    • R é a linguagem de programação
      • assim como Pyhton, JavaScript, Java, etc
      • https://www.r-project.org/
      • "R é um ambiente de software livre para computação estatística e gráficos"
      • É importante saber que R é orientado a objetos, então tudo em R vai ser um objeto
    • RStudio é a IDE (Ambiente de Desenvolvimento Integrado), onde vamos escrever nossos códigos, visualizar as saídas, etc.
      • assim como Jupyter Notebook, PyCharm, etc (inclusive estamos usando o R nesse notebook)
      • O RStudio continua sendo distribuído gratuitamente, mas agora como um dos produtos da 'Posit'
        • Segundo a própria empresa ele não vai ser descontinuado mas eles buscam melhorias como incluir Python
        • Oferece alguns outros produtos além do RStudio como conectores, soluções de cloud, etc
      • https://posit.co/products/open-source/rstudio/

Index

O RStudio¶

  • O RStudio será a IDE que vamos utilizar para escrever nossos código
  • Algumas informações são importantes antes de começarmos

  • Visão geral

    • Após a instalação, basta pesquisar por RStudio e abrir a IDE
    • Assim que o programa abrir, ele será como mostrado abaixo:

    • Para começar a trabalhar com o R, vamos precisar abrir um novo arquivo e fazemos isso selecionando:
      • File > New File > R Script
      • Também é possível criar outros tipos de arquivo como Python, JavaScript, etc

    • Quando tivermos trabalhando em um novo arquivo, teremos a tela da seguinte forma:

    • Nessa tela:

      • No lado esquerdo superior: é onde vamos escrever os nossos códigos
        • Para executar um código, vamos usar no teclaro Ctrl+Enter ou clicar em Run
        • Será executado aquilo que estiver selecionado pelo mouse (se nada for selecionado ele irá executar apenas a linha que estiver com o cursor do mouse)
      • Lado esquerdo inferior: vamos visualizar o resultado da execução do nosso código
      • Superior direito: é possível ver asa variáveis que criamos e que existem no código
      • Inferior direito: vamos visualizar os plots (gráficos) quando forem criados, além de permitir navegarmos em nossos arquivos e na própria documentação do R
  • Se quisermos limpar qualquer uma dessas regiões, basta clicar no símbolo de vassoura próximo a elas

  • Salvando e importando arquivos
    • Para salvar um arquivo no RStudio vamos clicar em:
      • File > Save
      • Selecionar onde queremos salvar e clicar em Save

      • Caso uma mensagem como essa mostrada abaixo apareceça, basta selecionar a primeira opção: UTF-8 (que é a opção padrão do sistema
        • Para que essa mensagem não fique aparecendo todas as vezes que você for salvar, basta selecionar a segunda caixa de seleção

    • Para abrir um arquivo, selecione:
      • File > Open File
      • Selecione o arquivo desejado e clique em Open (ou clicar 2 vezes no arquivo)

Index

Comandos básicos¶

  • 1.Comentários em R
  • 2.Imprindo informações na tela
  • 3.Criando variáveis
  • 4.Operações matemáticas
  • 5.Operações lógicas
  • 6.Tipos de variáveis

Comandos Básicos

  • Comentários em R
    • Para comentar qualquer linha, podemos utilizar a #
    • Quando fizermos isso, essa linha não será executada!
In [1]:
# Esse é um comentário
# print('Olá mundo')
In [2]:
# Cuidado para não comentar linhas que não devem ser comentadas
# valor = 2
print(valor)
Error in print(valor): objeto 'valor' não encontrado
Traceback:

1. print(valor)

Comandos Básicos

  • Imprindo informações na tela
    • Em qualquer programa vamos precisar exibir as informações na tela
    • Podemos fazer isso das seguintes formas
In [3]:
# Imprimindo utilizando o print
print('Olá mundo')
[1] "Olá mundo"
In [4]:
# Imprindo um texto
print('Esse é um texto')
[1] "Esse é um texto"
In [5]:
# Imprimindo um número inteiro
print(5)
[1] 5
In [6]:
# Imprimindo um número decimal (com vírgula)
print(5.3)
[1] 5.3

Comandos Básicos

  • Criando variáveis
    • Assim como em qualquer lingaugem, também podemos criar variáveis em R
    • Cada variável vai ser um objeto capaz de armazenar um valor
    • Para isso podemos usar o = ou o <- para fazer a atribuição de uma variável
    • Nomes das variáveis
      • Não pode começar com um número
      • São Case Sensitive (diferenciam maiúsculas de minúsculas)
In [7]:
# Criando a variável a
a = 4
In [8]:
# Criando a variável b
b <- 2
In [9]:
# Imprimindo essas variávels
print(a)
print(b)
[1] 4
[1] 2
In [34]:
# Também podemos criar uma variável com texto
nome = 'Lucas'
print(nome)
[1] "Lucas"
In [35]:
# Tentando criar uma variável que começa com número
1variavel = 'Teste'
Error in parse(text = x, srcfile = src): <text>:2:2: unexpected symbol
1: # Tentando criar uma variável que começa com número
2: 1variavel
    ^
Traceback:
In [36]:
# Buscando a variável C (maiúscula)
print(Nome)
Error in print(Nome): objeto 'Nome' não encontrado
Traceback:

1. print(Nome)

Comandos Básicos

  • Operações matemáticas
    • Podemos fazer qualquer operação matemática em R, tanto usando diretamente os valores quanto usando as variáveis que criamos
      • Soma: +
      • Subtração: -
      • Divisão: %
        • Inteiro da divisão: %/% (uma / separa os dois %)
        • Resto da divisão: %%
      • Multiplicação: *
      • Potência: ** ou ^
      • Raiz quadrada: sqrt
        • Tirar a raiz é a mesma coisa que elevar um número a (1/2)
In [13]:
# Somando 1 + 1
1 + 1
2
In [14]:
# Visualizando a e b
print(a)
print(b)
[1] 4
[1] 2
In [15]:
# Somando a + b
a + b
6
In [16]:
# Subtraindo
a - b
2
In [17]:
# Dividindo 
a / b
2
In [18]:
# E se a divisão não for exata?
5 / b
2.5
In [19]:
# Inteiro da divisão
5 %/% b
2
In [20]:
# Resto da divisão
5 %% 2
1
In [21]:
# Potência
4**2
16
In [22]:
# Potência (utilizando o ^)
4^2
16
In [23]:
# Raiz quadrada
sqrt(16)
4
In [24]:
# Raiz quadrada
16**(1/2)
4

Comandos Básicos

  • Operações lógicas
    • Também podemos fazer operações lógicas no R, como E (uma coisa E outra), OU (uma coisa OU outra), maior, menor, maior igual, etc
    • Elas nos ajudam, por exemplo, a verificar condições, buscar valores, comparar variáveis, etc
      • Por exemplo, podemos verificar apenas alunos com nota acima da média, ou podemos buscar aqueles alunos com nota menor que 3 para a recuperação
    • Para essas operações, temos:
      • E: & (uma coisa E a outra coisa aconteceram)
        • Vai retornar verdadeiro se todas coisas acontecerem
      • OU: | (uma coisa OU a outra aconteceu)
        • Retorna verdadeiro se pelo menos uma coisa aconteceu
      • igualdade: ==
        • Cuidado pois apenas 1 = é atribuição!
      • diferente: !=
      • maior: > (maior ou igual: >=)
      • menor: < (menor ou igual: <=)
      • negação: ! (usar ! antes de uma afirmação nega essa afirmação)
In [25]:
# Sendo a variável nota
nota <- 5
In [26]:
# Verificando se a nota é maior que 5
nota > 5
FALSE
In [27]:
# Verificando se a nota é igual a 6
nota == 6
FALSE
In [28]:
# Sendo a variavel presença
presenca <- 77
In [29]:
# Verificando se a nota é maior que 5 e a presenca maior que 70
nota > 5 & presenca > 70
FALSE
In [30]:
# Verificando se a nota é maior que 9 ou a presença é maior que 70
nota > 9 | presenca > 70
TRUE
- Podemos incluir uma condição de que se a nota for maior que 9, ele pode ter menos de 70% de presença, caso contrário a presença precisa ser maior que 70% e a nota precisa ser maior que 5
In [31]:
# Se a nota for maior que 9, o aluno não precisa ter presença
nota > 9 | (nota > 5 & presenca > 70)
FALSE
In [32]:
# Podemos alterar a nota e a presença e testar essa condição
nota <- 9.5
presenca <- 68
nota > 9 | (nota > 5 & presenca > 70)
TRUE
In [33]:
# Fazendo uma negação
!1 == 2
TRUE

  • Tipo de variáveis
    • Como falamos inicialmente, tudo em R é um objeto. Sendo assim, para saber o tipo de um dado vamos perguntar ao R a classe daquela variável utilizando o class()
    • Os dados em R podem ser dos seguintes tipos:
      • numeric (numéricos): valores numéricos, podendo ser inteiros ou decimais
        • ex: 1, 1.5, 10, 100
      • character (caracteres / texto): valores de texto
        • Obs: um número entre aspas também é considerado um valor textual
        • ex: 'Lucas', 'Esse é meu texto', '1,5', '1.5'
      • integer (inteiro): valores inteiros declarados como o número inteiro seguido por "L"
        • Só vamos usar esse tipo de dado quando tivermos a certeza que nossa variável não irá receber valores decimais
        • ex: 10L, 100L
      • logical (lógico): valor lógico
        • ex: TRUE, FALSE
      • obs: no R também é possível utilizarmos o tipo de dado 'complex', que se refere a um valor complexo
    • Podemos fazer conversão para qualquer tipo utilizando as. com o tipo de dado que queremos utilizar
      • Por exemplo, para transformar para inteiro basta fazer as.integer
        • IMPORTANTE: ao transformar um decimal para inteiro, apenas a parte inteira do número será mantida e a parte decimal é perdida
In [43]:
# Verificando a classe de 1,5
class(1.5)
'numeric'
In [44]:
# Podemos salvar em uma variável e verificar a classe da mesma forma
a = 1.5
class(a)
'numeric'
In [48]:
# Verificando a classe de 10
class(10)
'numeric'
In [45]:
# Agora verificando a classe de "1.5" (e de "1,5")
a = '1.5'
class(a)
'character'
In [47]:
# E a classe de Lucas
class('Lucas')
'character'
In [49]:
# Para o tipo do número ser inteiro, devemos declarar esse valor com um "L" na frente
class(10L)
'integer'
In [50]:
# Verificando a classe utilizando o "L" junto a um decimal
class(10.5L)
'numeric'
In [51]:
# Por fim, podemos verificar a classe de TRUE
class(TRUE)
'logical'
  • Vamos transformar 2 para inteiro
In [64]:
# Verificando a classe de a = 2
a = 2
print(class(a))
[1] "numeric"
In [65]:
# Transformando para inteiro
a = as.integer(a)
In [67]:
# Verificando a classe
print(class(a))
[1] "integer"
  • Agora vamos transformar 2.8 para inteiro
In [70]:
# Verificando a classe de a = 2.8
a = 2.8
print(class(a))
[1] "numeric"
In [71]:
# Transformando para inteiro
a = as.integer(a)
In [72]:
# Verificando a classe
print(class(a))
[1] "integer"
In [73]:
# E verificando o valor de a
print(a)
[1] 2
  • Observe que perdemos informação ao fazer essa conversão (perdemos a informação decimal do número). Vamos voltar para numérico
In [74]:
# Voltando para numérico
a = as.numeric(a)
In [75]:
# Verificando o tipo do dado
print(class(a))
[1] "numeric"
In [76]:
# E novamente o valor de a
print(a)
[1] 2
  • Observe que nesse caso perdemos a parte decimal do número mesmo após converter de volta para numérico
    • Precisamos tomar muito cuidado com a conversão para não perder informações importantes
  • Também podemos transformar esses valores para character, logical, etc
In [78]:
# Transformando 2.8 para texto
a = 2.8
a = as.character(a)
print(class(a))
[1] "character"
In [80]:
# Visualizando a
print(a)
[1] "2.8"
In [82]:
# Voltando para numérico
a = as.numeric(a)
print(class(a))
[1] "numeric"
In [83]:
# E então visualizando novamente a
print(a)
[1] 2.8
  • Observe que sempre que transformamos para texto mantemos a integridade dos dados
In [89]:
# Considerando o texto TRUE
a = "TRUE"
print(class(a))
[1] "character"
In [90]:
# Visualizando
print(a)
[1] "TRUE"
In [91]:
# Podemos transformar para lógico
a = as.logical(a)
print(class(a))
[1] "logical"
In [92]:
# Visualizando novamente
print(a)
[1] TRUE

``