2 Conceitos Básicos do Ambiente R e Importação e Exportação de Dados e Objetos
2.1 Introdução ao
O que é o ?
- É parte do projeto GNU1: Portanto, é uma linguagem de progração livre e código aberto.
- O é uma linguagem de programação e ambiente para computação estatística e gráfica.
Fonte: CRAN
2.2 História e Contexto do R
R é um ambiente estatístico, cujo desenvolvimento se deu início em 1993, e lançamento em meados de 1995, quando os professores de estatística da Universidade de Auckland Ross Ihaka e Robert Gentleman perceberam a necessidade de uma linguagem de programação mais acessível e eficiente para análise de dados. O Objetivo era o desenvolvimento de uma ferramenta que combinasse a facilidade de uso e a flexibilidade da linguagem S com a escalabilidade e a extensibilidade necessárias para enfrentar os desafios da análise de dados cada vez mais complexa.
O nome “R” foi inspirado nas primeiras letras dos nomes dos criadores, mas também remete à ideia de um ambiente estatístico e reutilizável, referindo-se às características da linguagem S na qual o R foi baseado.
O R é um software de código aberto2, sendo isso fundamental para o seu crescimento e popularidade. Além de permitir que a comunidade global de estatísticos, cientistas de dados, pesquisadores e desenvolvedores colaborasse e compartilhasse suas contribuições em forma de pacotes, expandindo continuamente as capacidades da linguagem.
O R foi lançado ao público em 1995, sendo inicialmente adotado principalmente por pesquisadores e acadêmicos nas áreas de estatística e ciências sociais. Contudo, com o a expansão da era do Big Data e o crescimento da necessidade de análise de dados em diversas indústrias, o R passou a ser empregado em diversas áreas, desde a análise de dados financeiros até a ciência ambiental, biologia, marketing e muito mais.
Com o crescimento exponencial de usuários e desenvolvedores de R o ecossistema de pacotes no CRAN expandiu-se para incluir milhares de pacotes criados por usuários de todo o mundo. Esses pacotes fornecem funcionalidades especializadas para praticamente diversas tarefas, transformando o R em uma linguagem altamente flexível e poderosa para análise de dados.
2.2.1 Contribuições e Desenvolvimento Contínuo
Um dos principais pontos positivos do R é a colaboração da comunidade de usuários e desenvolvedores. O desenvolvimento do R é mantido por uma equipe central, porém qualquer pessoa pode contribuir com melhorias, correções de bugs e novos pacotes, resultando em um fluxo constante de inovações e melhorias.
Além disso, o R possui integração com outras linguagens de programação, como C, C++, Python e SQL, permitindo a otimização de tarefas computacionalmente intensivas e a integração com outros ecossistemas de software.
2.3 Características e Vantagens do R
Gratuito e de código aberto: O R é distribuído gratuitamente e permite acesso ao seu código-fonte, incentivando a colaboração e transparência.
Extensibilidade e Pacotes: Através do sistema de pacotes disponível no CRAN (Comprehensive R Archive Network), os usuários podem facilmente estender suas funcionalidades, aproveitando inúmeros pacotes criados pela comunidade para tarefas especializadas.
Visualização de Dados: Reconhecido por suas poderosas capacidades nessa área, o R oferece gráficos e relatórios de alta qualidade.
Análise Estatística e Manipulação de Dados: O R disponibiliza uma ampla variedade de funções e bibliotecas para análise estatística e manipulação de dados, tornando-o popular entre estatísticos e cientistas de dados.
Documentação e Ajuda: O R possui extensa documentação oficial, bem como inúmeros tutoriais e exemplos disponíveis online.
Ambiente de Programação e Linguagem: O R é uma linguagem interpretada, executando o código linha por linha e mostrando os resultados em tempo real. Sua natureza vetorial possibilita manipular e realizar operações eficientes em conjuntos de dados.
Objetos e Tipos de Dados: No R, tudo é um objeto, podendo ser vetores, matrizes, data frames, listas e outros tipos de dados. É importante entender os diferentes tipos de dados para realizar operações apropriadas em cada um deles.
Operações Aritméticas e Relacionais: O R suporta operações aritméticas básicas, como adição, subtração, multiplicação e divisão, bem como operações relacionais, como maior que, menor que e igual a.
Estruturas de Controle e Funções: O R oferece estruturas de controle, como loops (
for
,while
) e condicionais (if
,else
,ifelse
), permitindo repetir tarefas ou executar comandos com base em condições específicas. Além disso, as funções são blocos de código reutilizáveis que executam tarefas específicas. O R possui uma ampla variedade de funções internas e permite a criação de funções personalizadas.Integração com Outras Linguagens: O R pode ser integrado com outras linguagens de programação, como C, C++, Python e SQL, permitindo a otimização de tarefas computacionalmente intensivas e a integração com outros ecossistemas de software.
2.4 Principais Características da Linguagem
- Além de ser uma linguagem estatística, o também apresenta inúmeros recursos gráficos, arte, aplicativos, sites, etc. Além disso, o R possui mais de 20 mil de pacotes oficiais na CRAN. O R é multiplatorma: , , , .
Além da parte estatística, o R pode ser utilizado para arte generativa, como o exemplo abaixo:
2.5 Comunidade
O apresenra uma comunidade muito ativa e engajada, com diversos grupos de usuários e desenvolvedores espalhados pelo mundo. Conhecida por ser muito acolhedora e inclusiva, a comunidade R oferece cursos online e treinamentos gratuitos e pagos, além de eventos e conferências que reúnem profissionais e entusiastas da linguagem.
Links: Cheat-Sheets, R-Ladies, R-Studio, R-Project
2.5.1 Day
2.6 Ladies
O -Ladies foi fundado em 2012, em San Francisco, com o objetivo de promover a diversidade de gênero no ecossistema R. A organização oferece cursos e eventos gratuitos, abertos a comunidade, independentemente do gênero. Atualmente, o -Ladies possui mais de 200 grupos em 60 países, promovendo a inclusão e a diversidade na comunidade R.
2.7 O Projeto
O Projeto é uma organização sem fins lucrativos que mantém o desenvolvimento do R e fornece suporte para a comunidade de usuários e desenvolvedores. O site oficial do projeto, www.r-project.org, é a principal fonte de informações sobre o R, incluindo downloads, documentação, tutoriais e notícias sobre o desenvolvimento da linguagem.
2.7.1 Obtendo e Instalando o R
Para instalar o R, basta acessar o site oficial do projeto e baixar a versão adequada para o seu sistema operacional. O R está disponível para Windows, macOS e Linux, e o processo de instalação é simples e direto. Após a instalação, você pode iniciar o R a partir da linha de comando ou de um ambiente de desenvolvimento integrado (IDE), como o RStudio.
2.8 O CRAN (Comprehensive R Archive Network)
O CRAN é o principal repositório de pacotes do R, mantido e organizado pela comunidade de desenvolvedores de R. Sendo criado para fornecer aos usuários do R uma plataforma centralizada para compartilhar, distribuir e acessar pacotes (bibliotecas) que estendem as funcionalidades do R. O CRAN hospeda cerca de 20.000 de pacotes desenvolvidos por usuários, de diversas áreas, desde estatística e aprendizado de máquina até ecologia, bioinformática e visualização de dados.
2.8.1 Explorando o CRAN
Podemos explorar o CRAN através do site oficial ou diretamente do R.
- Navegando no Site do CRAN: No site oficial do CRAN (https://cran.r-project.org/) é possível pesquisar por palavras-chave, categorias temáticas ou até mesmo pelo nome do pacote procurado. Cada pacote possui uma página com informações detalhadas sobre sua funcionalidade, documentação, autor e data de lançamento.
-
Visualizando os Pacotes: Divididos por área
-
Visualizando os Pacotes: Ordenados por nome
-
Acessando o CRAN do Ambiente R: Para pesquisar um pacote diretamente no R podemos utilizar a função
install.packages()
, que instalará o pacote escolhido. Podemos também utilizar a interface gráfica do RStudio para gerenciar pacotes.
2.8.2 Repositórios além do CRAN
Além do CRAN existem outros repositórios de pacotes que oferecem uma variedade de bibliotecas desenvolvidas por diferentes comunidades, e embora o CRAN seja a principal fonte de pacotes para a maioria dos usuários, esses outros repositórios também podem ser úteis, especialmente quando se trata de pacotes mais especializados ou em fase de desenvolvimento. Os principais repositórios de pacotes do R, além da CRAN são:
Bioconductor: O Bioconductor é um repositório focado em bioinformática e análise de dados genômicos. São especialmente projetados para lidar com dados de biologia e geralmente requerem algum conhecimento em bioinformática para uso efetivo.
GitHub ou GitLab: Muitos pacotes R são hospedados em repositórios do GitHub, e é possível instalar esses pacotes diretamente do GitHub usando o pacote
devtools
.
2.9 Como Aprender ?
2.9.1 Hands-On Programming with R
- Free Online: https://rstudio-education.github.io/hopr/
2.9.2 R for Data Science
- Free Online: https://r4ds.had.co.nz/(Wickham e Grolemund 2016)
2.9.3 Hands-On Data Science with R
2.9.4 R Graphics Cookbook
- Free Online: https://r-graphics.org/
2.9.5 Advanced R
- Free Online: https://adv-r.hadley.nz/
2.9.6 The Book of R
2.9.7 ggplot2
- Free Online: https://ggplot2-book.org/
2.9.8 Tidy Modelling with R
- Free Online: https://www.tmwr.org/
3 Configurações do Ambiente de Trabalho
3.1 Download e Instalação do R
Após a instalação do R pela CRAN, já podemos começar a programar em R.
3.2 Modos de execução da Linguagem
3.2.1 Nativo
Podemos utilizar o R de forma nativa, interativa, digitando comandos diretamente no console. Para isso, podemos simplesmente abrir o R e começar a digitar os comandos.
3.2.2 IDE’s & Editores para a Linguagem
Existem diversas opções de ambientes de desenvolvimento integrado (IDEs) e editores de texto que facilitam a programação em R.
IDE: Ambiente de Desenvolvimento Integrado, são ambientes de programação que oferecem uma série de ferramentas para facilitar o desenvolvimento de código, como realce de sintaxe, depuração, visualização de gráficos e integração com o sistema de controle de versão.
Editores: Editores de Texto gerais, são editores de texto padrão que não necessariamente são voltados para programação, mas que com auxílio de plug-ins, podem ser utilizados para programar.
- IDE’s: Ambientes de Desenvolvimento Integrado (Integrated Development Environment)
- RStudio
- RCode
- TinnR
- Editores: Editores de Texto gerais, que com auxílio de plug-ins, podem ser utilizados para programar em R.
- VSCode
- Vim
- Atom
- Emacs
- Sublime Text
3.3 Modos de execução
Existem diversas maneiras que podemos executar códigos em R: - Utilizando scripts, que são arquivos de texto contendo uma sequência de comandos R. - Interativamente, digitando comandos diretamente no console. - Interativamente, utilizando um ambiente de desenvolvimento integrado (IDE).
3.3.1 Scripts
Podemos criar scripts em R, que são arquivos de texto contendo uma sequência de comandos R. Para criar um script, basta abrir um editor de texto, digitar os comandos R e salvar o arquivo com a extensão .R
. Podemos executar um script em R direto pelo terminal, utilizando o comando Rscript
:
R CMD BATCH meu_codigo.R minha_saida.Rout
Rscript meu_codigo.R
Também posso executar um script em R diretamente pelo R, utilizando o comando source()
:
source("meu_codigo.R")
3.3.2 Utilizando o RStudio
A IDE mais popular para a linguagem R é o RStudio. O RStudio é uma IDE de código aberto que oferece uma série de recursos para facilitar o desenvolvimento de código em R, além de sua integração com outras linguagens, como C, C++, Python e SQL.
O RStudio é mantido pela Posit, uma empresa especializada em ferramentas para ciência de dados e análise estatística. O RStudio é amplamente utilizado por estatísticos, cientistas de dados, pesquisadores e desenvolvedores de R em todo o mundo. Além da versão Desktop, existem versões online, como o RStudio Server, que permitem acessar o RStudio a partir de um navegador da web.
Como já vimos, o RStudio oferece integração automática com sistemas de versionamento de código (Git/SVN), facilitando o controle de versão e o trabalho colaborativo. Além disso, o RStudio possui uma interface gráfica intuitiva, com guias para visualização de gráficos, ambiente de trabalho, histórico de comandos e arquivos, facilitando a organização e a execução de tarefas.
3.3.2.1 Abrindo o RStudio
3.3.2.2 Criando Arquivos
Para criar um novo script em RStudio, basta clicar em File > New File > R Script
ou utilizar o atalho Ctrl + Shift + N
. Isso abrirá uma nova guia onde você pode digitar seus comandos R.
3.3.2.3 Tabs
O RStudio possui várias guias que facilitam a organização e a execução de tarefas. As principais guias são: - File: Navegação de arquivos - Plots: Visualização de gráficos - Session: Informações sobre a sessão atual - Tools: Onde podemos realizar nossas configurações
3.3.2.4 Configurações
O RStudio oferece uma série de configurações que podem ser personalizadas de acordo com as preferências do usuário. Para acessar as configurações, basta clicar em Tools > Global Options
.
3.3.2.5 Criando Projetos
Uma das funcionalidades mais úteis do RStudio é a capacidade de criar projetos. Um projeto no RStudio é um ambiente de trabalho que inclui um diretório de trabalho, arquivos, scripts e configurações específicas para um projeto específico. Isso facilita a organização e a colaboração em projetos de análise de dados e programação em R.
Mais sobre o RStudio neste cheatsheet.
4 Mecanismos de ajuda
Saber buscar ajuda e consultar à documentação oficial de pacotes e funções são essenciais para qualquer usuário do R, independentemente do nível de experiência. No R cada função apresenta uma documentação padrão, além de mecanismos integrados para fornecer ajuda instantânea. As principais maneiras de obter ajuda em R são:
?
ehelp()
: No R, o ponto de interrogação?
e a funçãohelp()
são utilizados para acessar a documentação de funções e pacotes. Por exemplo, para obter ajuda sobre a funçãomean()
, você pode digitar?mean
ouhelp(mean)
no console. Isso abrirá a ajuda (documentação) da funçãomean()
com a descrição da função, os argumentos que ela recebe, seu uso correto, exemplos de uso e informações sobre os valores de retorno. Além disso, você pode encontrar links para outras funções relacionadas e exemplos de código úteis.??
,help.search()
eapropos()
: O??
é outro operador que permite fazer uma pesquisa na documentação do R usando palavras-chave. Por exemplo,??plot
realizará uma busca por tópicos que contenham a palavra “plot” na documentação de funções e pacotes. O resultado será uma lista de funções e pacotes relacionados ao termo pesquisado. Para realizar a mesma pesquisa usando a funçãohelp.search()
, você pode digitarhelp.search("plot")
no console. Isso fornecerá um resultado semelhante ao??
. Já a funçãoapropos()
é útil para encontrar funções que contenham uma determinada palavra-chave no nome. Por exemplo,apropos("plot")
retornará todas as funções que possuem “plot” no nome.vignette()
: Muitos pacotes do R incluem documentos chamados “vignettes”, que são tutoriais e guias práticos sobre o uso do pacote. Para acessar as vignettes de um pacote específico, podemos executarvignette(package = "nomedopacote")
. Isso abrirá uma lista das vignettes disponíveis para esse pacote.
4.1 Dicas para usar a Ajuda no R
Quando estiver no ambiente RStudio, a ajuda exibida pelo
?
ouhelp()
aparecerá em uma guia de ajuda na área de trabalho. Isso permite que você consulte a documentação sem sair do ambiente de desenvolvimento.Se você não souber o nome exato de uma função, mas lembrar de uma palavra-chave relacionada, pode usar o
??
ouhelp.search()
para encontrar funções que correspondam à palavra-chave.A documentação oficial do R geralmente é bem escrita e detalhada, com muitos exemplos úteis. É uma boa prática ler a documentação para entender completamente como usar uma função ou pacote.
Além dos recursos internos de ajuda, também é possível encontrar tutoriais e guias online sobre o R. Blogs, sites de tutoriais e fóruns da comunidade podem ser ótimas fontes de informações adicionais e soluções para problemas específicos.
5 Uma (muito) Breve Introdução
5.1 Manipulação de expressões e diferenciação de letras maiúsculas e minúsculas.
No R, a manipulação de expressões e a diferenciação entre letras maiúsculas e minúsculas são aspectos importantes a serem considerados ao escrever scripts e trabalhar com objetos na linguagem. Vamos explorar esses conceitos em detalhes:
- Manipulação de Expressões: A manipulação de expressões refere-se à forma como o R interpreta e processa os comandos e expressões de código que são fornecidos pelo usuário. O R é sensível a espaços em branco e a outros caracteres especiais que podem afetar a execução dos comandos. Algumas considerações importantes são:
Final de linha: O R considera o final da linha como um indicador de que o comando está completo. Se um comando for muito longo, você pode usar a notação
(...)
para continuar o comando na próxima linha. Você também pode simplesmente continuar seu código na próxima linha.Comentários: O R ignora qualquer texto após o símbolo
#
, permitindo que você insira comentários para explicar seu código.
-
Diferenciação de Letras Maiúsculas e Minúsculas: O R é case sentive, isto é, o diferencia letras maiúsculas e minúsculas em nomes de objetos, funções e palavras reservadas. Isso significa que
variavel
eVariavel
são tratadas como objetos distintos. Portanto, é importante manter a consistência na nomeação de objetos e funções.
Nomes de Variáveis e Funções: Ao nomear suas variáveis e funções, é aconselhável usar apenas letras minúsculas e, se necessário, separar palavras com underscore (_) ou camelCase. Por exemplo:
nome_variavel
,meu_contador
,calcularMedia
, etc. (Mais aqui)Palavras Reservadas: O R possui palavras reservadas que são usadas para funções ou operações internas e não devem ser usadas como nomes de objetos. Algumas palavras reservadas incluem
if
,else
,while
,function
,for
,c
, entre outras. (Mais aqui)
5.2 Exemplos de Manipulação de Expressões e Diferenciação de Letras Maiúsculas e Minúsculas
# Exemplo de manipulação de expressões
x <- 5
y<-10 # Não recomendado, espaços são mais legíveis
z <- (x +
y) # Continuando o comando em outra linha
x # imprime na tela o valor de x
[1] 5
y # imprime o valor de y
[1] 10
z # imprime o valor de z
[1] 15
# Exemplo de diferenciação de letras maiúsculas e minúsculas
variavel <- 42
Variavel <- 24
variavel
[1] 42
Variavel
[1] 24
5.3 Convenções de Nomenclatura de Variáveis no R
As convenções de nomenclatura de variáveis são uma parte importante da prática de programação, pois tornam o código mais legível, consistente e facilitam a colaboração entre os membros da equipe de desenvolvimento. No R, existem duas convenções principais de nomenclatura de variáveis amplamente utilizadas:
-
Camel Case e Pascal Case: Na convenção Camel Case, o nome da variável é escrito como uma frase sem espaços, onde as palavras são unidas e a primeira letra de cada palavra, exceto a primeira, é escrita em maiúscula. Por exemplo:
calcularMedia
,idadeDoUsuario
,meuContador
.
O Pascal Case é uma variação do Camel Case, onde a primeira letra de cada palavra, incluindo a primeira, é escrita em maiúscula. Por exemplo: CalcularMedia
, IdadeDoUsuario
, MeuContador
.
Essas convenções são amplamente utilizadas em outras linguagens de programação, como Python, Java e C#.
-
Snake Case: No Snake Case, o nome da variável é escrito como uma frase sem espaços, onde as palavras são unidas por underscores (_). Todas as letras são escritas em minúsculas. Por exemplo:
calcular_media
,idade_do_usuario
,meu_contador
.
Essa convenção é particularmente útil em ambientes que não diferenciam letras maiúsculas e minúsculas, pois ajuda a melhorar a legibilidade dos nomes das variáveis.
5.3.1 Compreensão de Palavras Reservadas
No R, palavras reservadas são termos que possuem significado especial para a linguagem e são usadas para funções, comandos ou operações internas. Essas palavras não podem ser usadas como nomes de variáveis, funções ou objetos, pois isso causaria conflito com o significado e comportamento original dessas palavras na linguagem.
Exemplos de palavras reservadas no R incluem if
, else
, for
, while
, function
, TRUE
, FALSE
, NULL
, break
, next
, entre outras.
É importante compreender as palavras reservadas do R para evitar problemas ao nomear suas variáveis e funções. Caso você acidentalmente tente utilizar uma palavra reservada como nome de variável, o R emitirá um erro e indicará que a palavra é uma palavra reservada e não pode ser usada.
x <- seq(1:10)
x
[1] 1 2 3 4 5 6 7 8 9 10
for <- seq(1:10)
Error in parse(text = input): <text>:1:5: unexpected assignment
1: for <-
^
if <- seq(1:20)
Error in parse(text = input): <text>:1:4: unexpected assignment
1: if <-
^
5.4 Execução, Recuperação e Correção de Comandos
Ao trabalhar com o R, é comum escrever e executar comandos em um ambiente interativo, como o console do RStudio. No entanto, erros podem ocorrer durante a execução desses comandos. Existem várias formas de lidar com a execução, recuperação e correção de comandos no R:
1. Execução de Comandos: Para executar um comando, basta digitá-lo no console do RStudio ou em um script e pressionar a tecla Enter. O R executará o comando e exibirá o resultado, se houver. No entanto, se houver algum erro no comando, o R exibirá uma mensagem de erro, indicando o tipo e a causa do erro.
2. Recuperação de Comandos: Em alguns casos, você pode querer recuperar comandos anteriores para reexecutá-los ou modificá-los. No RStudio, você pode usar as teclas de seta para cima e para baixo para navegar pelos comandos anteriores digitados no console. Também é possível usar o histórico de comandos, que pode ser acessado clicando na guia “History” no ambiente do RStudio.
3. Correção de Comandos: Se um comando apresentar um erro, você pode corrigi-lo diretamente no console ou no script antes de reexecutá-lo. É importante observar a mensagem de erro fornecida pelo R, pois ela geralmente indica o local do erro e a causa do problema. Após fazer as correções necessárias, você pode pressionar a tecla Enter para reexecutar o comando.
4. Função traceback(): A função traceback()
pode ser útil para depurar o código quando ocorrem erros mais complexos. Ela exibe o rastreamento das chamadas de função que levaram ao erro, ajudando a identificar em qual parte do código o problema ocorreu.
5. Modo Debug: O RStudio possui um modo de depuração (Debug) que pode ser ativado clicando no botão “Debug” ou usando a combinação de teclas Ctrl + Shift + D
. O modo de depuração permite que você execute o código linha por linha, inspecione os valores das variáveis em cada etapa e localize a origem de possíveis erros.
6 Programando em R: Fundamentos
6.1 Operadores
Os operadores são símbolos especiais que realizam operações em variáveis e valores. Em R, os operadores são usados para realizar cálculos aritméticos, comparações, atribuições e outras operações. Os operadores em R podem ser classificados em várias categorias, incluindo operadores aritméticos, operadores relacionais, operadores lógicos e operadores de atribuição.
6.1.1 Operadores Aritméticos
Os operadores aritméticos são usados para realizar operações matemáticas em valores numéricos. Os operadores aritméticos em R incluem:
x <- 10
y <- 5
-
+
(Adição): Realiza a adição entre dois valores.
soma <- x + y
soma
[1] 15
-
-
(Subtração): Realiza a subtração entre dois valores.
subtracao <- x - y
subtracao
[1] 5
-
*
(Multiplicação): Realiza a multiplicação entre dois valores.
multiplicacao <- x * y
multiplicacao
[1] 50
-
/
(Divisão): Realiza a divisão entre dois valores.
divisao <- x / y
divisao
[1] 2
-
^
ou**
(Exponenciação): Eleva um valor à potência de outro.
exponenciacao <- x^2
exponenciacao
[1] 100
-
%%
(Módulo): Calcula o resto da divisão entre dois valores.
modulo <- x %% y
modulo
[1] 0
-
%/%
(Divisão inteira): Realiza a divisão entre dois valores e retorna o resultado como um número inteiro.
divisao_inteira <- x %/% y
divisao_inteira
[1] 2
6.1.2 Operadores Relacionais
Os operadores relacionais são usados para comparar valores e expressões. Eles retornam um valor lógico (TRUE
ou FALSE
) com base na comparação. Os operadores relacionais em R incluem:
# Operadores Relacionais
a <- 10
b <- 20
-
==
(Igual a): Verifica se dois valores são iguais.
igual_a <- a == b
igual_a
[1] FALSE
-
!=
(Diferente de): Verifica se dois valores são diferentes.
diferente_de <- a != b
diferente_de
[1] TRUE
-
>
(Maior que): Verifica se o valor à esquerda é maior do que o valor à direita.
maior_que <- a > b
maior_que
[1] FALSE
-
<
(Menor que): Verifica se o valor à esquerda é menor do que o valor à direita.
menor_que <- a < b
menor_que
[1] TRUE
-
>=
(Maior ou igual a): Verifica se o valor à esquerda é maior ou igual ao valor à direita.
maior_ou_igual_a <- a >= b
maior_ou_igual_a
[1] FALSE
-
<=
(Menor ou igual a): Verifica se o valor à esquerda é menor ou igual ao valor à direita.
menor_ou_igual_a <- a <= b
menor_ou_igual_a
[1] TRUE
6.2 Resumo de Operadores
6.2.1 Operações Matemáticas
6.2.1.1 Operações Básicas
6.2.1.2 Logarítimo
6.2.1.3 Funções Trigonométricas
6.2.1.4 Arrerondamento
6.2.2 Operações Lógicas
6.2.3 Comparativos
1 == 1 # Igual
1 != 2 # Diferente
1 > 2 # Maior
1 < 2 # Menor
1 >= 1 # Maior ou Igual
2 >= 1 # Menor ou Igual
a <- 1
b <- 2
a <= b
6.2.3.1 Operadores Lógicos
(1 == 1) & (2 == 2) # E / AND
(1 == 1) | (2 == 3) # OU / OR
!(1 == 2) # NÃO / NOT
6.2.4 Tipos Especiais
-
NA
: Valores Ausentes -
NaN
: Not a Number -
Inf
e-Inf
: Infinito -
NULL
: Valor Nulo (vazio)
NA + 5 # NA
is.na(NA + 5) # Verifica se é NA
10 + NULL # Retorna objeto vazio
is.null(10 + NULL) # Verifica se é NULL
0/0 # NaN
is.nan(0/0) # Verifica se é NaN
1/0 # Inf
is.infinite(1/0) # Verifica se é Infinito
is.finite(1/0) # Verifica se é Finito
6.2.5 Strings
"R" == "r" # Comparação de strings
"a" < "b" # Ordem Alfanumérica
"1" < "2" # Ordem Alfanumérica
6.3 Vetores em R: Fundamentos
Em R, vetores são estruturas de dados fundamentais que armazenam elementos de um mesmo tipo. Eles desempenham um papel crucial na linguagem, permitindo o armazenamento eficiente e a manipulação de dados. Os aspectos principais de vetores em R são:
Homogeneidade: Vetores em R contêm elementos do mesmo tipo. Isso significa que um vetor não pode conter uma mistura de números, caracteres e outros tipos de dados. A homogeneidade é uma característica essencial para operações eficientes.
Criação de Vetores: Você pode criar vetores usando a função
c()
(combine) ou a funçãovector()
. Por exemplo,vetor_numerico <- c(1, 2, 3, 4, 5)
cria um vetor numérico com os valores de 1 a 5.
vetor_numerico <- c(1,2,3,4,5)
vetor_numerico
[1] 1 2 3 4 5
sequencia_1_5 <- seq(1:5)
sequencia_1_5
[1] 1 2 3 4 5
sequencia_10_100 <- seq(from = 10,
to = 100,
by = 5)
sequencia_10_100
[1] 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
-
Acesso a Elementos: Os elementos de um vetor podem ser acessados usando índices. O primeiro elemento tem índice 1, o segundo índice 2, e assim por diante. Por exemplo,
vetor_numerico[3]
retorna o terceiro elemento do vetor.
vetor_numerico[1]
[1] 1
vetor_numerico[3]
[1] 3
Operações em Vetores: R permite realizar operações em vetores de forma conveniente e eficiente. Operações aritméticas e relacionais podem ser aplicadas elemento a elemento. Por exemplo,
vetor_resultado <- vetor_numerico * 2
multiplica cada elemento por 2.Funções em Vetores: Muitas funções do R são vetorizadas, o que significa que elas podem operar diretamente em vetores. Isso evita a necessidade de loops explícitos. Por exemplo,
mean(vetor_numerico)
calcula a média dos elementos do vetor.Fatiamento de Vetores: Além de acessar elementos individuais, é possível fatiar vetores para obter subconjuntos. Por exemplo,
subconjunto <- vetor_numerico[2:4]
cria um novo vetor contendo os elementos do índice 2 ao 4.
vetor_numerico[2:4]
[1] 2 3 4
sequencia_10_100[3:8]
[1] 20 25 30 35 40 45
-
Vetores de Caracteres: Vetores de caracteres são frequentemente usados para representar strings, nomes de variáveis e rótulos. Por exemplo,
vetor_caracteres <- c("maçã", "banana", "laranja")
.
vetor_caracteres <- c("maçã", "banana", "laranja")
Vetores são uma das estruturas de dados mais essenciais em R e constituem a base para muitas operações e análises de dados. Eles permitem uma abordagem vetorial para a programação, que é eficiente e expressiva, tornando o R uma linguagem poderosa para análise estatística e manipulação de dados.
6.3.1 Exemplos de Criação de Vetores
numeros <- c(1, 2, 3, 4, 5)
numeros
[1] 1 2 3 4 5
letras <- c("a", "b", "c", "d", "e")
letras
[1] "a" "b" "c" "d" "e"
logicos <- c(TRUE, FALSE, TRUE, FALSE)
logicos
[1] TRUE FALSE TRUE FALSE
## Coerção
vetor <- c(numeros, letras, logicos)
vetor
[1] "1" "2" "3" "4" "5" "a" "b" "c" "d"
[10] "e" "TRUE" "FALSE" "TRUE" "FALSE"
# Acessa o primeiro elemento
numeros[1]
[1] 1
# Acessa o terceiro elemento
letras[3]
[1] "c"
# Acessa o segundo elemento
logicos[2]
[1] FALSE
# Acessa o quinto elemento
vetor[5]
[1] "5"
# Acessa o segundo ao quarto elemento
vetor[2:4]
[1] "2" "3" "4"
6.3.2 Exemplos de Uso de Operadores Aritméticos e Relacionais em vetores
# Operações aritméticas com vetores
vetor1 <- c(1, 2, 3)
vetor2 <- c(4, 5, 6)
# Soma
soma_vetores <- vetor1 + vetor2
soma_vetores
[1] 5 7 9
# Subtração
subtracao_vetores <- vetor1 - vetor2
subtracao_vetores
[1] -3 -3 -3
# Multiplicação
multiplicacao_vetores <- vetor1 * vetor2
multiplicacao_vetores
[1] 4 10 18
# Divisão
divisao_vetores <- vetor1 / vetor2
divisao_vetores
[1] 0.25 0.40 0.50
# Exponenciação
exponenciacao_numero <- vetor1^2
exponenciacao_numero
[1] 1 4 9
# Módulo
modulo_numero <- vetor1 %% 3
modulo_numero
[1] 1 2 0
6.3.3 Tipos, Classes, Métodos em vetores
6.3.3.1 Tipos de Vetores
Como vimos, os vetores em R são homogêneos, ou seja, todos os elementos de um vetor devem ser do mesmo tipo. Os tipos de vetores mais comuns em R são:
- Numérico:
numeric
c(1.2, 2.5, 3.14)
- Inteiro:
integer
c(1, 2, 3, 4, 5)
- Lógico:
logical
c(TRUE, FALSE, FALSE)
- Complexo:
complex
c(1 + 2i, 2 + 0i)
- Caracter:
character
c("a", "b", "c")
- Factor:
factor
factor(c("Tipo 1", "Tipo 2", "Tipo 3"))
Para que eu saiba qual o tipo de um vetor, posso utilizar a função class()
, caso eu tenha uma suposição acerca do tipo do vetor, posso utilizar a função is.
seguida do tipo que eu quero verificar.
# Funções que começam com `is.`
# retornam TRUE ou FALSE
# Lista funções is.
apropos("^is\\.")
# Verifica se é inteiro
is.integer(numeros)
[1] FALSE
# Verifica se é numérico
is.numeric(numeros)
[1] TRUE
# Verifica se é caracter
is.character(letras)
[1] TRUE
# Verifica se é lógico
is.logical(logicos)
[1] TRUE
# Verifica a classe do vetor
class(numeros)
[1] "numeric"
class(letras)
[1] "character"
[1] TRUE
6.3.3.2 Conversão de Tipos
Muitas vezes precisamos converter um tipo de vetor em outro tipo. Para fazer isso, basta utilizar uma função específica para a conversão. As funções de conversão em R seguem o padrão as.tipo()
, onde tipo
é o tipo para o qual queremos converter o vetor.
# Funções que começam com `as.`
# Lista funções as.
apropos("^as\\.")
# Converte para caracter
as.character(numeros)
[1] "1" "2" "3" "4" "5"
# Converte para numérico
as.numeric(fator)
[1] 1 2 3
[1] "2021-01-01" "2021-01-02" "2021-01-03"
6.3.4 Métodos
Métodos são funções genéricas que atuam conforme a classe do objeto. Para saber quais métodos estão disponíveis para uma classe, utilize a função methods(class = "class")
.
## Podemos ter um vetor numérico com nomes
altura <- c("João" = 1.82,
"Bianca" = 1.68,
"Eduarda" = 1.62)
class(altura)
[1] "numeric"
attributes(altura)
$names
[1] "João" "Bianca" "Eduarda"
names(altura)
[1] "João" "Bianca" "Eduarda"
6.3.5 Mais sobre a criação de vetores
Podemos criar vetores de diferentes formas, como: - Utilizando a função c()
- Utilizando a função seq()
- Utilizando a função rep()
- Gerando de números aleatórios.
Já vimos a primeira forma, agora vamos ver as outras formas de criar vetores.
6.3.6 Sequências & Repetições
Para criar sequências ou repetir elementos, podemos utilizar as funções seq()
e rep()
, respectivamente.
- Gerar sequências:
seq(from = x, to = y, by = z)
- Repetir elementos:
rep(x, times = n)
rep(x, each = n)
6.3.7 Números Aleatórios
Para gerar números aleatórios, de uma distribuição de probabilidade, podemos utilizar as funções runif()
, rnorm()
e sample()
.
- Números aleatórios:
-
runif()
: Números aleatórios entre 0 e 1 -
rnorm()
: Números aleatórios de uma normal, com média 0 e desvio padrão 1 -
sample()
: Amostras aleatórias -
Importante: Para garantir a reprodutibilidade dos resultados, podemos definir a semente aleatória com a função
set.seed()
.
# 5 Números aleatórios entre 0 e 1
runif(5)
[1] 0.72837130 0.86886759 0.04289164 0.47154488 0.70211836
# 5 Números aleatórios de uma normal,
# com média 0 e desvio padrão 1
rnorm(5)
[1] -0.47879958 0.06497995 -0.48012593 1.19685144 0.69212656
# Amostras aleatórias
sample(numeros,
size = 3,
replace = FALSE)
[1] 5 2 3
sample(letras,
size = 5,
replace = TRUE)
[1] "d" "a" "b" "e" "a"
6.3.8 Exemplos de Uso de Operadores Relacionais em Vetores
6.3.8.1 Selecionando Elementos
Muias vezes precisamos selecionar elementos de um vetor que satisfaçam uma condição específica. Para isso, podemos utilizar operadores relacionais para comparar os elementos do vetor com um valor ou outro vetor.
# Comparação entre vetores
vetor1 <- c(1, 2, 3, 4)
vetor2 <- c(4, 5, 6, 7)
# Igualdade
vetores_iguais <- vetor1 == vetor2
vetores_iguais
[1] FALSE FALSE FALSE FALSE
# Diferença
vetores_diferentes <- vetor1 != vetor2
vetores_diferentes
[1] TRUE TRUE TRUE TRUE
# Maior que
vetores_maior_que <- vetor1 > vetor2
vetores_maior_que
[1] FALSE FALSE FALSE FALSE
# Menor que
vetores_menor_que <- vetor1 < vetor2
vetores_menor_que
[1] TRUE TRUE TRUE TRUE
# Maior ou igual
vetores_maior_ou_igual_a <- vetor1 >= vetor2
vetores_maior_ou_igual_a
[1] FALSE FALSE FALSE FALSE
# Menor ou igual
vetores_menor_ou_igual_a <- vetor1 <= vetor2
vetores_menor_ou_igual_a
[1] TRUE TRUE TRUE TRUE
6.3.8.2 Seleção Posicional
A seleção posicional é uma forma de acessar elementos de um vetor com base em sua posição. Podemos selecionar elementos individuais, subconjuntos ou fatias de um vetor usando índices numéricos.
alturas <- c("João" = 1.82,
"Bianca" = 1.68,
"Carlos" = 1.75,
"Ana" = 1.70)
# Seleciona o primeiro elemento
alturas[1]
João
1.82
# Seleciona até o terceiro elemento
alturas[1:3]
João Bianca Carlos
1.82 1.68 1.75
# Seleciona elementos 1, 3 e 4
alturas[c(1, 3, 4)]
João Carlos Ana
1.82 1.75 1.70
# remove o segundo elemento
alturas[-2]
João Carlos Ana
1.82 1.75 1.70
6.3.8.3 Seleção Condicional
A seleção condicional é uma forma de acessar elementos de um vetor com base em uma condição lógica. Podemos usar uma máscara lógica para selecionar elementos que atendam a uma condição específica.
# Seleciona alturas maiores que 1.70
mascara_logica <- alturas > 1.70
alturas[mascara_logica]
João Carlos
1.82 1.75
alturas[alturas > 1.70]
João Carlos
1.82 1.75
6.3.8.4 Seleção por Nome
Quando um vetor possui nomes associados a seus elementos, podemos acessar os elementos por nome em vez de índice. Isso é útil para identificar e recuperar elementos de forma mais intuitiva.
# Seleciona a altura de João
alturas["João"]
João
1.82
# Seleciona a altura de João e Ana
alturas[c("João", "Ana")]
João Ana
1.82 1.70
6.3.9 Modificar e Adcionar Elementos
Podemos modificar e adicionar elementos em um vetor de diferentes formas, como atribuir um novo valor a um elemento existente, adicionar um novo elemento ao vetor ou remover um elemento do vetor.
6.3.10 Modificar
Para modificar um elemento de um vetor, basta selecionar o elemento de interesse e atribuir um novo valor a ele. Por exemplo, vetor[3] <- 10
atribui o valor 10 ao terceiro elemento do vetor.
alturas
João Bianca Carlos Ana
1.82 1.68 1.75 1.70
# Modifica a altura de João
alturas["João"] <- 1.85
alturas
João Bianca Carlos Ana
1.85 1.68 1.75 1.70
# Atribui altura desconhecida a Bianca
alturas["Bianca"] <- NA
alturas
João Bianca Carlos Ana
1.85 NA 1.75 1.70
# Remove a altura de Carlos
alturas = alturas[-3]
6.3.11 Adicionar
Para adicionar um novo elemento a um vetor, podemos usar a função append()
. A função append()
permite adicionar um novo elemento ao final ou em uma posição específica do vetor.
6.4 Ordens de Execução no R
A ordem de execução é uma consideração importante ao escrever scripts ou interagir com o console do R. O R executa as operações seguindo uma sequência lógica, e entender essa sequência é fundamental para garantir que o código seja executado corretamente.
-
Atribuição de Variáveis: A primeira etapa na ordem de execução é a atribuição de valores a variáveis. A atribuição é realizada usando os operadores de atribuição
<-
ou=
. Por exemplo,x <- 5
atribui o valor 5 à variávelx
. Através da atribuição, você cria objetos que serão usados para realizar cálculos e manipulações no restante do código.
x <- 5
x
[1] 5
-
Avaliação de Expressões: Depois que as variáveis são atribuídas, o R avalia as expressões aritméticas, lógicas ou outras expressões envolvendo as variáveis. Por exemplo, suponha que temos
y <- x + 3
, o R primeiro avaliaráx + 3
(que é 5 + 3 = 8) e, em seguida, atribuirá o resultado (8
) à variávely
.
y <- x + 3
y
[1] 8
Execução de Comandos: Após as atribuições e avaliações, o R executa os comandos. Os comandos são instruções que realizam ações específicas, como criar gráficos, calcular estatísticas, manipular dados, entre outros. Os comandos são fundamentais para executar tarefas específicas no R.
Impressão de Resultados: Em um ambiente interativo, o R exibirá automaticamente na saída do console o resultado das expressões que não estão atribuídas a uma variável. Se você quiser evitar a impressão de resultados indesejados, pode utilizar a função
invisible()
para suprimir a saída.
-
Controle de Fluxo: Se o código contém estruturas de controle de fluxo, como condicionais (
if
,else
) e loops (for
,while
), o R avaliará essas estruturas para decidir quais partes do código executar com base nas condições.
6.4.1 Exemplos de Atribuição
x <- 5 # Atribui o valor 5 à variável x
nome <- "João" # Atribui a string "João" à variável nome
meus_animais <- c("gato", " cachorro", "cachorro")
x
[1] 5
nome
[1] "João"
meus_animais
[1] "gato" " cachorro" "cachorro"
meus_animais[2] == meus_animais[3]
[1] FALSE
nome <- "Maria"
idade <- 30
altura <- 1.65
vetor <- c(1, 2, 3, 4, 5)
nome
[1] "Maria"
idade
[1] 30
altura
[1] 1.65
vetor
[1] 1 2 3 4 5
- = (sinal de igual): Também pode ser usado como operador de atribuição. Por exemplo:
y = 10 # Atribui o valor 10 à variável y
y
[1] 10
6.4.2 Exemplos de Ordens de Execução e Comandos de Atribuição:
a <- 5 # Atribuição primeiro
b <- a + 3 # Avaliação de expressão (a + 3 = 5 + 3 = 8)
print(b) # Impressão do resultado (8)
6.5 Funções Matemáticas Básicas
-
sum()
: Calcula a soma dos elementos de um vetor ou matriz.
vetor1
[1] 1 2 3 4
vetor2
[1] 4 5 6 7
vetor_caracteres
[1] "maçã" "banana" "laranja"
sum(vetor1)
[1] 10
sum(vetor2)
[1] 22
sum(vetor_caracteres)
Error in sum(vetor_caracteres): invalid 'type' (character) of argument
-
mean()
: Calcula a média aritmética dos elementos de um vetor ou matriz.
mean(vetor1)
[1] 2.5
mean(vetor2)
[1] 5.5
mean(vetor_caracteres)
Warning in mean.default(vetor_caracteres): argument is not numeric or logical:
returning NA
[1] NA
-
median()
: Calcula a mediana dos elementos de um vetor ou matriz.
-
max()
: Retorna o maior valor de um vetor ou matriz.
-
min()
: Retorna o menor valor de um vetor ou matriz.
-
sqrt()
: Calcula a raiz quadrada de um número ou vetor.
sqrt(vetor1)
[1] 1.000000 1.414214 1.732051 2.000000
sqrt(vetor2)
[1] 2.000000 2.236068 2.449490 2.645751
sqrt(vetor_caracteres)
Error in sqrt(vetor_caracteres): non-numeric argument to mathematical function
6.5.1 Exemplo
6.6 Funções de Manipulação de Dados
vetor3 = c(4,7,2,4,1,5)
-
length()
: Retorna o número de elementos em um vetor ou matriz.
length(vetor3)
[1] 6
-
sort()
: Ordena um vetor ou matriz em ordem crescente.
sort(vetor3)
[1] 1 2 4 4 5 7
-
rev()
: Inverte a ordem dos elementos de um vetor ou matriz.
rev(vetor3)
[1] 5 1 4 2 7 4
-
unique()
: Retorna os elementos únicos de um vetor ou matriz.
unique(vetor3)
[1] 4 7 2 1 5
6.6.1 Exemplo
6.7 Operações Estatísticas
y <- c(7, 5, 2, 2, 4, 8,
5, 2, 6, 4, 5, 10,
3, 2, 6, 10, 7, 8,
6, 10, 3, 4, 5, 1)
# Número de elementos
length(y)
[1] 24
# Soma dos elementos
sum(y)
[1] 125
# Média
mean(y)
[1] 5.208333
# Mediana
median(y)
[1] 5
# Máximo
max(y)
[1] 10
# Mínimo
min(y)
[1] 1
6.8 Funções para Criação de Gráficos
-
plot()
: Cria um gráfico de dispersão ou linhas.
-
hist()
: Cria um histograma para visualização da distribuição de dados.
hist(vetor4,
las = 1)
6.8.1 Exemplo
6.9 Funções Matemáticas
-
abs()
: Retorna o valor absoluto de um número ou de cada elemento de um vetor ou matriz.
-
round()
: Arredonda um número para o inteiro mais próximo.
round(valor_negativo)
[1] -6
-
ceiling()
: Arredonda um número para cima (teto).
ceiling(valor_negativo)
[1] -5
-
floor()
: Arredonda um número para baixo (piso).
floor(valor_negativo)
[1] -6
-
exp()
: Calcula a exponencial de um número ou vetor (\(e^x\)).
exp(1)
[1] 2.718282
-
log()
: Calcula o logaritmo natural de um número ou vetor.
6.10 Funções de Manipulação de Texto
-
paste()
: Concatena várias strings em uma única string.
[1] "Maria e Ana são minhas amigas."
paste(nomes[1], nomes[2], nomes[3], sep = "|")
[1] "Maria|Ana|Rafaela"
paste(nomes, collapse = " ")
[1] "Maria Ana Rafaela"
-
toupper()
: Converte uma string em letras maiúsculas.
toupper(nomes)
[1] "MARIA" "ANA" "RAFAELA"
-
tolower()
: Converte uma string em letras minúsculas.
tolower(nomes)
[1] "maria" "ana" "rafaela"
-
substr()
: Extrai uma subcadeia de caracteres de uma string.
substr(x = nomes[1], start = 1,stop = 3)
[1] "Mar"
-
gsub()
: Substitui padrões em uma string por outros valores.
gsub(pattern = "G",
replacement = "R",
x = "Gato")
[1] "Rato"
6.10.1 Exemplo
nome1 <- "João"
nome2 <- "Maria"
frase <- paste("Olá,", nome1, "e", nome2) # Concatenação de strings
frase_upper <- toupper(frase)
frase_lower <- tolower(frase)
subcadeia <- substr(frase, start = 6, stop = 11) # Extrai a subcadeia "João e"
frase_substituida <- gsub("João", "Pedro", frase) # Substitui "João" por "Pedro"
6.11 Informações sobre Diretórios e Arquivos em R
Antes de realizar operações de importação e exportação de dados, é essencial entender o sistema de arquivos e diretórios em que você está trabalhando. No R, o diretório de trabalho é o local padrão onde o R procura arquivos para importação e salva arquivos exportados. Você pode obter informações sobre o diretório de trabalho atual e também alterá-lo conforme necessário.
-
getwd()
: Retorna o diretório de trabalho atual, ou seja, o diretório em que o R procura por arquivos e onde salvará os resultados.
getwd()
[1] "/Users/deisygysi/Library/CloudStorage/OneDrive-ufpr.br/DEST/2023/DEST/CE302/2023_2/CE302/chapters"
setwd()
: Permite alterar o diretório de trabalho para um caminho específico. Isso é útil quando você precisa importar ou exportar dados em um diretório diferente do padrão.ls()
: Lista os objetos no ambiente de trabalho atual.
6.11.1 Exemplo
[1] "/Users/deisygysi/Library/CloudStorage/OneDrive-ufpr.br/DEST/2023/DEST/CE302/2023_2/CE302/chapters"
# Alterar o diretório de trabalho para uma pasta específica
# setwd("/caminho/para/a/pasta")
Além disso, para listar os arquivos e diretórios presentes em um determinado local, você pode utilizar a função list.files()
.
6.11.2 Exemplo
# Listar os arquivos no diretório de trabalho atual
arquivos <- list.files()
print(arquivos)
[1] "01_markdown_git.html" "01_markdown_git.qmd"
[3] "02_basicR_files" "02_basicR.qmd"
[5] "02_basicR.rmarkdown" "03_objects.qmd"
[7] "04_data_transf.qmd" "04_data_transf.rmarkdown"
[9] "05_loops.qmd" "06_functions.qmd"
[11] "07_graphics.qmd" "07_graphics.rmarkdown"
[13] "08_communicate.qmd" "99_trab.qmd"
[15] "Basic R.md" "Basic R.Rmd"
[17] "data" "Lista_01.qmd"
[19] "Lista_02.qmd" "Lista_03_files"
[21] "Lista_03.html" "Lista_03.qmd"
6.11.3 Funções para Importação e Exportação de Dados e Objetos
O R oferece diversas funções e pacotes para importar e exportar dados em diferentes formatos. Algumas das funções mais comuns incluem:
-
read.csv()
: Importa dados de um arquivo CSV (Comma-Separated Values) e cria um dataframe. É um formato amplamente utilizado para armazenar dados tabulares. -
read.table()
: Importa dados de um arquivo de texto delimitado e cria um dataframe. Esse formato é útil quando os dados estão separados por caracteres específicos, como tabulações ou pontos e vírgulas. -
read.xlsx()
(do pacote “readxl”): Importa dados de um arquivo Excel (.xlsx) e cria um dataframe. O formato Excel é amplamente utilizado para armazenar dados em planilhas. -
write.csv()
: Exporta um dataframe para um arquivo CSV, permitindo compartilhar os resultados em formato legível por outros softwares. -
write.table()
: Exporta um dataframe para um arquivo de texto delimitado, permitindo compartilhar os resultados de forma mais flexível.
Exemplo:
6.11.4 Exploração de Conjuntos de Dados Integrados e Edição dos Mesmos
O R inclui diversos conjuntos de dados integrados que estão disponíveis por padrão. Esses conjuntos são úteis para fins de prática, aprendizado e também para a demonstração de recursos da linguagem. Para explorar esses conjuntos, você pode usar funções como data()
, head()
, tail()
e summary()
.
-
data()
: Lista os conjuntos de dados integrados disponíveis no R. Isso permite que você veja quais conjuntos estão disponíveis para importação. -
head()
: Exibe as primeiras linhas de um dataframe, permitindo uma visualização rápida dos dados. -
tail()
: Exibe as últimas linhas de um dataframe, especialmente útil para conjuntos de dados com muitas observações. -
summary()
: Fornece um resumo estatístico dos dados em um dataframe, incluindo medidas como média, mediana, mínimo, máximo e quartis.
6.11.4.1 Exemplo
# Listar conjuntos de dados integrados disponíveis no R
data()
# Carregar o conjunto de dados "iris" (conjunto de dados de flores iris)
data(iris)
# Exibir as primeiras linhas do conjunto de dados "iris"
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
# Exibir as últimas linhas do conjunto de dados "iris"
tail(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
145 6.7 3.3 5.7 2.5 virginica
146 6.7 3.0 5.2 2.3 virginica
147 6.3 2.5 5.0 1.9 virginica
148 6.5 3.0 5.2 2.0 virginica
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
# Exibir um resumo estatístico do conjunto de dados "iris"
summary(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
Uma vez que os dados são importados ou carregados no R, você pode realizar várias operações de edição, transformação e limpeza nos dataframes. Isso inclui seleção de colunas, filtragem de dados, criação de novas variáveis, cálculos estatísticos e muito mais. O R oferece uma ampla variedade de funções e pacotes que permitem manipular dados de forma eficiente e eficaz.