## Introdução à introdução ao **R** e ao **RStudio** ##
## ##
## Prof. Heron Hilário ##
## ##
#_______________________________________________________________________________A linguagem R e o RStudio
Olá, esta é mais uma de um conjunto de práticas em bioinformática. Você pode encontrar as demais práticas aqui.
Nesta prática vamos conhercer a linguagem R e o RStudio.
Introdução
Sobre o R e o RStudio
A linguagem de programação R, criada por Ross Ihaka e Robert Gentleman na Universidade de Auckland, Nova Zelândia, no início dos anos 90, foi concebida inicialmente como uma linguagem e ambiente para análise estatística e gráficos (veja aqui em r-project). Inspirada na linguagem S, desenvolvida nos Laboratórios Bell, o R rapidamente ganhou popularidade devido à sua capacidade de realizar complexas manipulações de dados, análises estatísticas e produzir gráficos de alta qualidade. Com o tempo, a comunidade em torno da R cresceu exponencialmente, contribuindo com uma vasta coleção de pacotes para o Comprehensive R Archive Network (CRAN), expandindo assim suas capacidades para além da estatística básica, para áreas como aprendizado de máquina, visualização de dados, análise de séries temporais, bioinformática, entre outras.
O RStudio, por sua vez, é um ambiente de desenvolvimento integrado (IDE) para R. Lançado em 2011, que facilitou ainda mais o uso da linguagem R, oferecendo uma interface amigável e diversas ferramentas que melhoram a produtividade dos usuários, como editor de código, console, visualização de dados e gestão de pacotes. A popularidade do R e do RStudio na pesquisa científica e na ciência de dados deve-se à sua natureza open-source, permitindo que pesquisadores e cientistas de dados compartilhem facilmente seus códigos e análises, promovendo a reprodutibilidade e a colaboração na pesquisa. Além disso, a capacidade de R em lidar com grandes volumes de dados, realizar análises complexas e produzir visualizações de dados detalhadas torna-a uma ferramenta indispensável em diversas áreas, desde a genética à economia, reforçando sua posição como uma das principais linguagens na ciência de dados e pesquisa científica contemporâneas. O RStudio e as funcionalidades do R podem ser utilizados para diversas outras aplicações. Por exemplo, este site foi criado no RStudio, utilizando o formato R Mark Down .Rmd.
A facilidade de transformar vetores e tabelas em gráficos é um dos pontos fortes do R. Veja alguns exemplos possíveis nesta galeria de gráficos, a The R Graph Gallery.
Recentemente o RStudio passou por uma mudança significativa ao adotar o novo nome Posit. Essa alteração simboliza a expansão dos objetivos da empresa, que agora incluem o suporte a outras linguagens de programação além do R, como Python, outra linguagem também muito utilizada na bioinformática. A mudança reflete o desejo da empresa de abraçar uma comunidade de usuários mais ampla, sem abandonar seu compromisso com a linguagem R.
O R e a Bioinformática
A comunidade de R dedicada à análise de dados biológicos é vasta e ativa, com diversas iniciativas e projetos que visam o desenvolvimento e compartilhamento de softwares de código aberto para análises precisas e repetíveis de dados biológicos. Um dos projetos mais destacados nesse contexto é o Bioconductor, que se propõe a desenvolver e compartilhar softwares de código aberto para bioinformática. O Bioconductor é conhecido por sua abordagem inclusiva e colaborativa, reunindo uma comunidade de desenvolvedores e cientistas de dados engajados em criar soluções bioinformáticas utilizando o R.
Além disso, o R oferece uma gama de pacotes adicionais que podem ser utilizados para ampliar suas capacidades centrais. Qualquer usuário pode criar ou publiar funções e pacotes para serem utilizados por outros usuários.
Esses esforços coletivos dentro da comunidade de R enfatizam não apenas o desenvolvimento técnico de ferramentas analíticas, mas também a promoção de uma cultura de colaboração e compartilhamento de conhecimento, o que é crucial para avançar nas pesquisas biológicas e bioinformáticas.
Instalando o R e o RStudio
Você encontrar os instaladores do R e do RStudio aqui. Uma vez baixados, você deve executar o instalador da linguagem R primeiro, e em seguida o do RStudio. Pode seguir com a instalação padrão sem modificar nada, apenas clicando sim/ok/avançar.
Pimeiro contato com o R
Conhecendo o RStudio
Os painéis do RStudio
A interface do RStudio é dividida em quatro painéis principais (veja mais em painéis do RStudio), cada um desempenhando um papel distinto para melhorar a produtividade e eficiência nas suas tarefas de programação em R:
Janela do Console: Localizada no canto inferior esquerdo, o console é onde você pode inserir comandos R diretamente e visualizar suas saídas. É essencialmente o centro de interação do R, mostrando os Resultados das computações ou execuções de código. Você também pode limpar o console usando um ícone de vassoura para melhorar a legibilidade quando ele fica cheio.
Janela de Código (Source): Normalmente situada no canto superior esquerdo, esta área é o seu espaço de trabalho para editar e gerenciar arquivos, como R scripts, arquivos de texto, entre outros. É onde você pode escrever, editar e executar seus scripts R. Os arquivos abertos aqui aparecem em abas, facilitando a troca entre múltiplos arquivos. Este painel suporta vários tipos de arquivo, incluindo R scripts(.R), RMarkdown (.Rmd), scripts Python (.py) e mais.
Janela de Ambiente/Histórico/Conexões/Tutorial: Localizada tipicamente no canto superior direito, este painel é multifuncional. A aba ‘Ambiente’ mostra os conjuntos de dados e variáveis atualmente na memória, ‘Histórico’ registra todos os comandos anteriores, ‘Conexões’ exibe conexões de banco de dados, e ‘Tutorial’ pode guiar você através de recursos de aprendizagem. É um local central para gerenciar os objetos do seu espaço de trabalho e revisar atividades passadas.
Janela de Arquivos/Gráficos/Pacotes/Ajuda/Visualizador: Geralmente localizada no canto inferior direito, este painel versátil permite que você navegue pelos arquivos do seu projeto, visualize gráficos gerados pelos seus R scripts, gerencie pacotes em R, acesse documentação e arquivos de ajuda do R, e veja conteúdo web ou visualizações geradas pelo R. É uma ferramenta essencial para gerenciar recursos, visualizar dados e acessar ajuda quando necessário.
Estes painéis são projetados para trabalhar juntos de forma integrada, fornecendo um ambiente de desenvolvimento abrangente para programação em R. Você pode personalizar o layout de acordo com suas preferências e necessidades de fluxo de trabalho, melhorando sua eficiência em tarefas de análise de dados e desenvolvimento.
Prática
Preparando um documento de código
Antes de mais continuarmos, abra um novo script em R. Você pode fazer isso clicando no quadrado branco com um + branco e verde, no canto superior esquerdo do RStudio, e sem seguida selecionando a opção R script ou clicando em:
File->New File->R script
Vamos ter o nosso primeiro contato com o R. A partir de agora, tudo que estiver nesses quadro coloridos, você deve copiar (pode usar o botão no canto superior direito) e colar no seu R script.
Copie todo o conteúdo a seguir para o seu R script. Coloque o cursor (esta barra | que pisca onde você está digitando) na primeira linha. Aperte ctrl + ENTER para executar a instrução escrita nessa linha, ou na próxima ativa
DICA: Linhas que começam com # são ignoradas pelo computador. Servem apenas para os humanos. Você pode inserir comentários em qualquer parte do código, e escrever lembretes ou explicações que podem te ajudar a estudar, ou ajudar futuros usuários a entender como o código funciona.
DICA: Quando uma linhas que começa com # tem —- no final, ela vira uma seção, que pode ser buscada no índice (outline) de seções do código, cujo botão fica no canto superior direito do painel de códigos.
Um objeto é uma caixinha que você cria e que pode armazenar qualquer coisa: números, texto, dados, funções, vetores, listas, tabelas, modelos, gráficos, etc.
Ao nomear um objeto, você deve usar apenas letras (maiúsculas ou minúsculas), números e o sublinhado “_” ou ponto “.”:
- meu objeto: ❌
- meu_lindo_objetinho: ✔
- meu.obj: ✔
Nunca começe o nome de um objeto com um número:
- 1_objeto: ❌
- objeto_1: ✔
Use nomes que te ajudam a entender o que está armazenado no objeto:
- coisa: ❌
- blablabla: ❌
- tabela_medias: ✔
- idades_alunos: ✔
- peso_kg: ✔
Vamos criar nosso primeiro objeto:
# criando objetos ----
# neste código vamos criar objetos e tabelas
## criar objeto objA ----
# este comando cria um objeto objA
objA <- 3
# este comando executa o objeto objA, mostrando o que ele armazena
objAVamos criar mais um objeto, e armazenar outro número nele.
## criar objeto objB ----
objB <- 35
objBUtilizando objetos em operações matemáticas
Agora vamos multiplicar esses objetos? O cálculo será feito com os valores armazenados em cada um.
# operações matemáticas com os objetos ---
## multiplicar objetos ----
objA*objB
## criar o objeto objD com o resultado
objD <- objA*objB
#verificar o que está armazenado no objeto
objDAgora você tem um código que pega dois números quaisquer e te dá a multiplicação deles.
E se você alterar os números iniciais, o que acontece? Vamos refazer o objA com mais números.
## recriar o objA ----
# a função conjunto c() possibilita armazenar diferentes elementos num mesmo objeto
objA <- c(238, 55, 10, 3, 28, -1, 0.33)
objA
## multiplicar objetos ----
objA*objB
## criar o objeto objD ----
objD <- objA*objB
objDVeja só! Você calculou diversas multiplicações com a mesma faciliade que você fez o cálculo com apenas dois números!
Esse é o poder do computador, ele repete ações com muita facilicade.
Funções
E se quisermos saber a média dos valores do objD. Como você faria?
Somaria todos valores dos elementos e dividiria pelo número de elementos? Parece meio trabalhoso né, será que tem algum jeito mais fácil? No rsempre tem!
## a média do objeto objD ---- objD
mean(objD)Alguém que já teve esse mesmo problema pra resolver criou ums solução que qualquer um pode usar, que chamamos de função.
Funções são ferramentas que recebem um objeto ( input ) de entrada, processam sua informação e devolvem um resultado ( output ). Também podem receber argumentos que complementam as instruções para o funcionamento da função.
Vamos conhecer algumas funções básicas
## testando funções ----
length(objD)
max(objD)
min(objD)
sum(objD)
######-> repita todos os passos anteriores com diferentes valores armazenados no objATabelas
Grande parte dos dados que um cientista de dados investiga vem na forma de tabelas. Se você pensar bem, consegue organizar qualquer informação de um estudo, experimento, área do conhecimento, …, na forma de uma tabela.
O R é uma ferramenta perfeita para trabalahr com tabelas, pois realiza operações demaneira organizada para dados com esta estrutura.
# trabalhando com tabelas ----
# vamos criar uma tabela com a função data.frame()
tabela_exp <- data.frame(antes = c(130, 100, 90, 150, 130, 120, 86, 122, 99, 78, 82),
depois = c( 56, 88, 32, 28, 40, 20, 30, 22, 35, 43, 56),
controle = c( 0, 5, 2, 1, 5, 1, 7, 5, 3, 3, 21))
tabela_exp$antes
tabela_exp$depois
tabela_exp$depois[2]
tabela_exp[2,2]
tabela_exp[c(2,3),2]Gráficos simples
# gráficos ----
## o mais simples ----
# veja o poder do R, de uma tabela a um gráfico em uma linha!
boxplot(tabela_exp)Gráficos customizáveis
O ggplot2 é um pacote do R amplamente utilizado para visualização de dados, criado por Hadley Wickham e lançado em 2005 como parte de seu trabalho para o RStudio e a comunidade R, é baseado na gramática dos gráficos, que permite construir gráficos de forma estruturada, consistente e altamente personalizável.
Sua importância reside na capacidade de transformar conjuntos de dados complexos em representações visuais claras, facilitando a exploração, interpretação e comunicação de resultados em áreas como Bioinformática e Genômica.
A flexibilidade do ggplot2 permite combinar diferentes camadas de informação, como pontos, linhas, barras, textos, cores e facetas, oferecendo controle detalhado sobre estética, layout e facetas, o que torna o pacote uma ferramenta essencial para análises gráficas sofisticadas e reprodutíveis.
Algumas funções não vem por padrão no R, e precisam ser instaladas. As funções geralmente pertencem a pacotes (conjunto de várias funções para um propósito específico), e a intalação destes é bem simples, com apenas um comando para instalar e outro para carregar o pacote, sempre que você for usar. Vamos instalar o pacote do ggplot2 para usarmos:
Instalando pacotes
# fazer um grafico customizável com o ggplot ----
install.packages("ggplot2") # este só precisa ser executado uma vez!
library(ggplot2) #este você executa sempre que for usarUsando pacotes
# transformando a tabela para facilicar a entrada na função de gráfico
tabela_exp
stack(tabela_exp)
#gráfico simples ----
ggplot(stack(tabela_exp),
aes(x = ind,
y = values,
fill = ind,
)) +
geom_boxplot()
#adicionando camaad de pontos ----
ggplot(stack(tabela_exp),
aes(x = ind,
y = values,
fill = ind,
)) +
geom_boxplot() +
geom_jitter()
# customizando as cores ----
ggplot(stack(tabela_exp),
aes(x = ind,
y = values,
fill = ind,
# col = ind
)) +
geom_boxplot() +
geom_jitter()+
scale_fill_manual(values = c("#ab3310","#2000b0","#2aa0b0"))+
# scale_colour_manual(values = c("#ab3310","#2000b0","#2aa0b0"))+
theme_bw()
# salvando o gráfico em um objeto ----
meu_1_boxplot <- ggplot(stack(tabela_exp),
aes(x = ind,
y = values,
fill = ind,
# col = ind
)) +
geom_boxplot() +
geom_jitter()+
scale_fill_manual(values = c("#ab3310","#2000b0","#2aa0b0"))+
# scale_colour_manual(values = c("#ab3310","#2000b0","#2aa0b0"))+
theme_bw()
meu_1_boxplotOutras dicas e atalhos
## Introdução à introdução ao **R** e ao **RStudio** ##
## ##
## Prof. Heron Hilário ##
#### março/2024 ####
## ##
#_______________________________________________________________________________
## 0 - **RStudio**! ----
# 0a - Console/Terminal
# 0b - Source (arquivos abertos, variáveis, tabelas)
# 0c - Global environment/...
# 0d - Files/Plots/Help/...
# Tools -> Global Options (tudo pode ser configurável)
## 1 - a **linguagem **R** ----
# <- atribuir o que está na esquerda ao que está na direita
# function() executar a função "function" no que está dentro do ()
# %>% ou |> pipe! este é o pipe (|) do **R** (dplyr)
# ?function() abrir o manual/documentação da função (ou, aperte F1
# com o cursor na função)
## 0f - atalhos!
# ctrl + ENTER Executar linha com o cursor ou pró-
# ximo bloco de código
# ctrl + s salvar
# tab autocompleta coisas existentes
# ctrl + d deletar a linha com o cursor/
# selecionada
# ctrl + shift + c comentar/descomentar a linha com o
# cursor/selecionada
# ctrl + shift + d duplicar a linha com o cursor/
# selecionada
# ctrl + setas(l/r) caminhar pelas palavras
# ctrl + shift + setas(l/r) caminhar pelas palavras
# ctrl + alt + setas(u/d) caminhar pelas palavras
# ctrl + z desfazer
# , ou \ ou + continua na próxima linhaVocê pode encontrar a lista de todos os atalhos do RStudio aqui.
Voltar para a página inicial