Primeiros passos
Atalhos importantes:
- Roda uma linhas ou um bloco de código selecionado: ctrl+enter;
- Criar chunks: ctrl+shift+i;
- Selecionar todos os códigos escritos: ctrl+a;
- limpar o console: ctrl+l;
- selecões múltiplas (Para a escrita e troca de código automática) : ctrl+alt+Down;
- selectiona uma linha: shift+Down;
- copia e cola o código: ctrl+c e ctrl+v;
- reformata(identa) o código selectionado: ctrl+shift+a;
- limpa o console: ctrl+l;
Operadores matemáticos
## [1] 4
## [1] 2
## [1] 20
## [1] 4
## [1] 49
## [1] 12
## [1] 7.389056
log2(8) #logaritmos de base 2
## [1] 3
log10(100) #logaritmos de base 10
## [1] 2
log(20) #logaritmos neperianos
## [1] 2.995732
## [1] 24
round(2.345) #arredondamento sem casas decimais
## [1] 2
round(2.345, 1) #arredondamento com uma casa decimal
## [1] 2.3
round(2.345, 2) #arredondamento com duas casas decimais
## [1] 2.35
## [1] 0
Alguns Objetos e funções matemáticas reservadas no R
## [1] 3.141593
## [1] 2.718282
## [1] 2.72
# args Mostra os argumentos de uma função
args(round)
## function (x, digits = 0)
## NULL
## function (data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
## NULL
Alguns Objetos reservados no R
## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
## function (...) .Primitive("c")
## function (x)
## UseMethod("t")
## <bytecode: 0x000001d3b8ff3038>
## <environment: namespace:base>
## function (expr, name)
## .External(C_doD, expr, name)
## <bytecode: 0x000001d3b8efcb88>
## <environment: namespace:stats>
NA # Valor faltante (Not Avaiable)
## [1] NA
NaN # Indeterminado (Not a Number)
## [1] NaN
## [1] Inf
TRUE # Variável lógica para verdadeiro, ou abreviação T
## [1] TRUE
FALSE # Variável lógica para falso, ou abreviação F
## [1] FALSE
NULL # Usado para especificar algo nulo ou vazio
## NULL
Operadores lógicos
3 == 3 #Comparação de igualdade
## [1] TRUE
5 != 0 #Comparação de diferenças
## [1] TRUE
## [1] FALSE
## [1] TRUE
## [1] TRUE
## [1] FALSE
2 %in% c(1,2) #pertence a um conjunto
## [1] TRUE
Criando Vetores numéricos
## [1] "numeric"
Criando Vetores textuais
vetor = "Comunidade de Estatística"
class(vetor)
## [1] "character"
Criando Vetores lógicos
## [1] TRUE
logico = 10 == 10
class(logico)
## [1] "logical"
Criando fatores e os ordenando no R
novo_texto_fator = factor(novo_texto)
class(novo_texto_fator)
## [1] "factor"
levels(novo_texto_fator) #diz as categorias no fator
## [1] "CIÊNCIA DE DADOS" "COMUNIDADE DE ESTATÍSTICA"
## [3] "ESTATÍSTICA" "R"
nlevels(novo_texto_fator) #diz o número de categorias
## [1] 4
novo_texto_fator_ordenado <- ordered(novo_texto_fator, levels = c("ESTATÍSTICA", "COMUNIDADE DE ESTATÍSTICA", "R","CIÊNCIA DE DADOS"))
levels(novo_texto_fator_ordenado)
## [1] "ESTATÍSTICA" "COMUNIDADE DE ESTATÍSTICA"
## [3] "R" "CIÊNCIA DE DADOS"
Criando duas ou mais classes diferentes dentro de um mesmo vetor
vetor_estranho = c(1.7, "a") ## character
class(vetor_estranho)
## [1] "character"
## [1] "1.7"
vetor_estranho2 = c(FALSE, 2) ## numeric
class(vetor_estranho2)
## [1] "numeric"
vetor_estranho2_character = as.character(vetor_estranho2)
vetor_estranho2_character[1]
## [1] "0"
Criando listas no R
primeira_lista = list(Nomes = c("Thiago", "Erick"), Idades = c(33, 38))
primeira_lista
## $Nomes
## [1] "Thiago" "Erick"
##
## $Idades
## [1] 33 38
## [1] "list"
Indexação listas
- x[[i]] : Referência mais externa
- x[[i]][j] : Referência mais interna
## [1] "Thiago" "Erick"
## [1] "Thiago"
## [1] "Erick"
Lista de diferentes objetos
segunda_lista = list(Nomes = c("Thiago", "Erick","Samara","Lucas"), Idades = list( ano_2022 = c(33, 38,22,27),
ano_2023 = c(34, 39,23,28)
))
segunda_lista
## $Nomes
## [1] "Thiago" "Erick" "Samara" "Lucas"
##
## $Idades
## $Idades$ano_2022
## [1] 33 38 22 27
##
## $Idades$ano_2023
## [1] 34 39 23 28
Setando diretórios, Criando arquivos e deletando arquivos e diretórios
#vendo o caminho do diretorio que o R está apontando
#getwd()
#caminho = "C:/Users/teste/Desktop/area de trabalho/Curso R AO VIVO 24 horas/Introdução ao R"
#setando o diretório
#sewd(caminho)
#vendo se existe o diretório
dir.exists("diretorio_novo")
## [1] FALSE
#criando o diretório
dir.create("diretorio_novo")
#criando um novo arquivo
arquivo_novo="diretorio_novo/arquivo_temporario.csv"
#escrevendo o arquivo no diretório
write.csv(data.frame(x=1:5),file=arquivo_novo,row.names = F)
#Verifica os arquivos dentro do diretório
dir()
## [1] "diretorio_novo" "filebbc1587217b" "filebbc163767c1" "filebbc210a6040"
## [5] "filebbc24ee1f02" "filebbc2cf77905" "filebbc35bd70a0" "filebbc3f652669"
## [9] "filebbc4442197c" "filebbc48b17199" "filebbc4c8b4f24" "filebbc5544616e"
## [13] "filebbc55897f5" "filebbc59c1154" "filebbc5c12350" "filebbc5dc73c1c"
## [17] "filebbc61606d0c" "filebbc659075d3" "filebbc6b5b58c7" "filebbc6bde3d13"
## [21] "filebbc6ddb7dd9" "filebbc76144523" "filebbc79724f02" "filebbc7e293610"
## [25] "filebbcc5e6691" "filebbce4671e"
#deleta o diretório
unlink("diretorio_novo", recursive = TRUE)
Criando Diretórios e arquivos temporários
#diretorio temporário
diretorio_temporariO_default=tempdir(check = TRUE)
#cria um arquivo temporário com a extensão que desejar
arquivo_temporario=tempfile(fileext = ".txt")
#o R manda uma msg
message(arquivo_temporario)
## C:\Users\teste\AppData\Local\Temp\Rtmp2fiq3S\filebbc2f375c71.txt
#remove o diretório temporário
file.remove(tempdir())
## Warning in file.remove(tempdir()): não foi possível remover o arquivo
## 'C:\Users\teste\AppData\Local\Temp\Rtmp2fiq3S', motivo 'Permission denied'
## [1] FALSE
#diretorio temporário
diretorio_temporariO_default=tempdir(check = TRUE)
#link internet preços combustíveis dados abertos ANP
link="https://www.anatel.gov.br/dadosabertos/paineis_de_dados/acompanhamento_e_controle/tac.zip"
#local file
arquivo_local=tempfile(fileext = ".zip")
#dowload file https (usando method="curl")
download.file(url=link,destfile = arquivo_local,mode="wb")
#lista files do tipo zip
#list.files(pattern=".zip$")
#listar os arquivos no zip
informacoes_arquivo=unzip(arquivo_local,list=TRUE)
#descompactar no diretório criado
unzip(zipfile=arquivo_local,exdir=diretorio_temporariO_default)
#ler o arquivo
lendo_arquivo=read.csv2(informacoes_arquivo$Name,sep=";",encoding = "UTF-8",header = T)
Tipo de Arquivos salvos
- .R - Usado para salvar códigos criados e rotinas de análises (scripts).
- .RData - Usado para salvar os objetos da área de trabalho (workspace).
- .Rhistory - Usado para salvar o histórico dos comandos executados (normalmente salvo automaticamente).
- .Rproj - Formato exclusivo do RStudio, serve para salvar todas as informações utilizadas anteriormente pelo RStudio de maneira simplificada.
- .Rmd - Formato exclusivo quando você cria um arquivo de R markdown para criar seus relatórios personalizados e automatizados.
Exclusão de objetos
#lista os objetos no ambiente
ls()
## [1] "arquivo_local" "arquivo_novo"
## [3] "arquivo_temporario" "diretorio_temporariO_default"
## [5] "informacoes_arquivo" "lendo_arquivo"
## [7] "link" "logico"
## [9] "matriz_1" "matriz_2"
## [11] "novo_texto" "novo_texto_fator"
## [13] "novo_texto_fator_ordenado" "novo_vetor"
## [15] "primeira_lista" "segunda_lista"
## [17] "sequencia1" "sequencia2"
## [19] "vetor" "vetor_estranho"
## [21] "vetor_estranho2" "vetor_estranho2_character"
#Salva a área de trabalho
save.image("minhas_area_de_trabalho.RData")
# Carregar área de trabalho
load("minhas_area_de_trabalho.RData")
#apagando o objeto segunda_lista ou rm(A)
remove(segunda_lista)
rm(list = ls()) #remover todos os objetos