Tópico I - Comandos Básicos
2024-04-03
RR?R no WindowsR é através de uma interface gráfica através de janelas.shell prompt, embora requeira maior conhecimento do usuário.RStudio é um conjunto eficiente de ferramentas integradas https://posit.co/
R funciona?A forma mais simples de se utilizar o R é através de operações básicas:
Neste caso, o R executa a operação e retorna seu valor na tela.
# Adicao
23 + 4
## [1] 27
# Subtracao
13 - 5
## [1] 8
# Multiplicao
9 * 7
## [1] 63
# Divisao
10/3
## [1] 3.333333
# Exponeciacao
2^5
## [1] 32
# Raiz quadrada
sqrt(16)
## [1] 4
# Arredondar
round(pi, 2)
## [1] 3.14
# Logaritmo (base e)
log(10)
## [1] 2.302585
# Logaritmo (outras bases)
log(10, 10)
## [1] 1O símbolo # é utilizado para adicionar comentários ao código.
<-<-, atribuições podem ser feitas através =Na maior parte do tempo, usuários do R utilizam apenas o operador <- para atribuições, enquanto o símbolo de igualdade (=) é reservado para indicar os argumentos dentro de uma função.
Os objetos criados são armazenados na memória e atualizados a cada nova atribuição:
renda_dom para armazenar o valor da renda total aproximada do seu domicílio.n_pessoas o número de pessoas que moram no seu domicílio.renda_pc.03:00
Para listar todos os objetos armazenados na memória, basta utilizar a função ls()
RUm pacote é um conjunto de funções que servem para uma dada finalidade. Cada pacote possui uma documentação própria explicando sua funcionalidade e exemplos de uso.
RPara instalar um pacote específico no R, fazemos:
Veremos as principais estruturas de dados do R:
A construção de vetores (conjunto de valores) é feito através do operador c():
# Características dos participantes
idade <- c(19, 21, 23, 24, 25, 31, 33)
idade
## [1] 19 21 23 24 25 31 33
sexo <- c("M", "M", "F", "F", "M", "F", "M")
sexo
## [1] "M" "M" "F" "F" "M" "F" "M"
aluno_econ <- c(TRUE, FALSE, FALSE, TRUE, TRUE, T, F)
aluno_econ
## [1] TRUE FALSE FALSE TRUE TRUE TRUE FALSE
cra <- c(8.26, 7.18, 8.02, 7.33, 6.79, 9.45, 7.65)
cra
## [1] 8.26 7.18 8.02 7.33 6.79 9.45 7.65Para determinar a classe de um vetor, utilizamos a função class()
As classes definem a forma de armazenamento na memória. Por exemplo, um vetor de números inteiros requer menos espaço de armazenamento do que os vetores numéricos.
Para converter manualmente (quando possível) a classe de um vetor, utilizamos as funções as.character(), as.numeric(), as.integer() e as.logical():
Ao combinar dois vetores de classes distintas, o R converte os elementos para torná-los comparáveis:
O novo vetor é formado unicamente por caracteres. Portanto, vetores no R são formado com elementos de uma única classe.
Considere o vetor cra. Podemos fazer algumas operações básicas, tais como:
A função summary() apresenta um conjunto de estatísticas básicas sobre um vetor:
Para obter o tamanho de um vetor, utilizamos a função length():
Outras operações básicas com vetores:
Algumas destas operações não funcionam quando existem elementos faltantes (representados por NA)
Neste caso, devemos remover os dados faltantes da seguinte forma:
Podemos fazer operações com vetores de diferentes tamanhos. No entanto, o R utiliza um regra de reciclagem dos seus elementos:
Note
Equivale a soma de c(1, 2, 3, 1, 2) + c(2, 4, 6, 8, 10)
_ para separar palavras no nome dos objetosCamelCaseO R possui algumas funcionalidades para gerar sequências numéricas:
O R possui dois valores lógicos, TRUE e FALSE. Os operadores de comparação entre dois objetos são:
== igual!= diferente< menor que> maior que<= menor ou igual que>= maior ou igual queSeguem alguns exemplos de como são feitas as comparações entre dois valores:
Para selecionar um ou mais elementos de um vetor, utilizamos o operador [ ]
Para exluir elementos do vetor, utilizamos o sinal - antes do indexador da posição
Podemos utilizar operações lógicas para selecionar elementos em um vetor
=, +, -, <-, etc)Considere o vetor lista_vegana <- c("maca", "banana", "laranja", "kiwi", "batata", "brocolis")
lista_vegana possui?laranja|kiwi baseado na sua posição no vetortomate ao vetor.05:00
Uma matriz é simplesmente um vetor com dimensões. Para entender o conceito de matrizes, considere um vetor único com receita e despesa de três municípios:
Podemos criar uma matriz através da função matrix().
Para selecionar um elemento de uma matriz, devemos informar os índices relativos à linha i e à coluna j através do operador [i,j]. Por exemplo:
Além disso, podemos atribuir nomes para as linhas e colunas de uma matriz:
É possível criar matrizes através da junção de colunas (cbind) ou linhas (rbind):
É possível criar matrizes através da junção de colunas cbind() ou linhas rbind():
Algumas operações usuais com matrizes são as seguintes:
x, y e z com inteiros, cada um com 3 elementos. Combine os três vetores para formar uma matriz A (3 × 3), onde cada coluna representa um vetor. Altere os nomes das linhas para a, b e c.numeric. Converta o vetor em uma matriz B (4 x 3) usando matrix(). Preencha os elementos por linha ajustando o argumento byrow = TRUE.B e multipique pela matriz original B. Qual a dimensão da matriz obtida?10:00
Um data frame é uma das estruturas mais importantes para armazanamento de dados. Equivale, de certa forma, às planilhas eletrônicas com linhas e colunas.
É possível criar, carregar (dados dos pacotes) ou ler arquivos diretamente no R. Para criar um data frame, fazemos:
alunos_ufpb <- data.frame(
aluno = c("José", "Maria", "Pedro", "Carla", "Isabel"),
economia = c(1, 0, 0, 1, 1),
periodo = c(3, 4, 7, 2, 3),
cra = c(7.34, 8.45, 8.05, 7.98, 9.03)
)
alunos_ufpb
## aluno economia periodo cra
## 1 José 1 3 7.34
## 2 Maria 0 4 8.45
## 3 Pedro 0 7 8.05
## 4 Carla 1 2 7.98
## 5 Isabel 1 3 9.03Para carregar dados dos pacotes, fazemos:
#install.packages("dados")
head(dados::dados_gapminder)
## # A tibble: 6 × 6
## pais continente ano expectativa_de_vida populacao pib_per_capita
## <fct> <fct> <int> <dbl> <int> <dbl>
## 1 Afeganistão Ásia 1952 28.8 8425333 779.
## 2 Afeganistão Ásia 1957 30.3 9240934 821.
## 3 Afeganistão Ásia 1962 32.0 10267083 853.
## 4 Afeganistão Ásia 1967 34.0 11537966 836.
## 5 Afeganistão Ásia 1972 36.1 13079460 740.
## 6 Afeganistão Ásia 1977 38.4 14880372 786.Algumas características dos dados:
# Estrutura dos dados
str(dados::dados_gapminder)
## tibble [1,704 × 6] (S3: tbl_df/tbl/data.frame)
## $ pais : Factor w/ 142 levels "Afeganistão",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ continente : Factor w/ 5 levels "África","Américas",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ ano : int [1:1704] 1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 ...
## $ expectativa_de_vida: num [1:1704] 28.8 30.3 32 34 36.1 ...
## $ populacao : int [1:1704] 8425333 9240934 10267083 11537966 13079460 14880372 12881816 13867957 16317921 22227415 ...
## $ pib_per_capita : num [1:1704] 779 821 853 836 740 ...
# Listar variaveis
names(dados::dados_gapminder)
## [1] "pais" "continente" "ano"
## [4] "expectativa_de_vida" "populacao" "pib_per_capita"Análise de Dados e Documentos Dinâmicos