O Github Pages permite que você construa websites simples a partir de seu repositório Github. Para ativar esse recurso, acesse a guia Settings em https://github.com/SEU_USUÁRIO/ciencia_colab
. Em seguida, clique no menu Pages na barra de navegação do lado esquerdo.
No botão abaixo de Source, escolha o Branch main e folder /(root):
Click Save. You should now see that the site is “ready to be published”:
Olhando no menu principal do repositório, você poderá confirmar que o repositório está ativo na forma de website
E também poderá acessar a página no endereço:
https://SEU_USUÁRIO.github.io/ciencia_colab
Repare que o URL é apenas uma reordenação do endereço do repositório no Github:
https://github.com/SEU_USUÁRIO/ciencia_colab
Para ficar mais fácil de encontrarem o website, clique na ícone de engrenagem em frente a palavra About no menu do lado direito e uma janela irá abrir:
O endereço do website irá aparecer em cinza, mas você terá que digitar ou copiar e colar o endereço neste campo. Basta salvar e já poderá ver o endereço na página principal do repositório.
Ao final, você deve ver algo como isso:
O padrão das páginas principais de websites é ter uma página inicial nomeada como index.html
. Portanto, teremos que renomear o nosso documento R Markdown. Para podermos alterar as rotinas e arquivos tendo a possibilidade de testar várias alternativas sem perder nosso trabalho anterior, vamos usar o comando branch
para criar uma cópia do repositório onde poderão ser feitas alterações sem prejudicar o código original.
Nesta próxima etapa, vamos continuar a testar novas ferramentas do GitHub
e usar comandos para testar novos caminhos sem alterar o repositório principal (branch
e merge
).
PS: este tutorial de Git e GitHub foi adaptado do material criado pelos colegas Thiago Silveira e Ben Best.
branch
e merge
Os comandos branch
e merge
são muito úteis quando queremos testar diferentes caminhos. Imagine que você quer fazer uma figura e segue uma linha de raciocínio. Depois de se deparar com o resultado final, você percebe que poderia seguir um caminho diferente. Para não perder a primeira versão, que está no ramo master, você pode criar um branch
, uma diferente abordagem em paralelo. Abaixo um resumo que que será realizado nesta seção:
Comando | Ação |
---|---|
branch |
Cria um novo “ramo” em seu repositório |
merge |
Incorporar um ramo criado ao ramo “master” |
O comando git no terminal é git branch
. No RStudio você pode criar um novo branch
clicando botão como indicado abaixo.
Depois de criar o novo branch
nomeado Caminho_2, foram realizadas algumas mudanças na rotina, fazendo um commit
e push
neste ramo. Depois disso, será feito um merge
incorporando as modificações ao ramo principal master. No RStudio é possível somente criar os ramos pela aba Git, para fazer o merge
você terá que usar linha de comando no Terminal. Note que na interface de commit
, temos sempre que preencher o campo commit message. Abaixo, em verde, são destacadas as mudanças realizadas, vermelho a versão anterior.
Para fazer o merge do ramo Caminho_2, primeiro você precisa voltar para o ramo master. Na aba git do RStudio troque de Caminho_2 para master. Depois disso digite os seguintes comandos no Terminal, um de cada vez.
# Fazendo o "merge" de "Caminho_2" ao "master"
git merge Caminho_2
# Fazendo o "push" para o repositório
git push
Você verá na aba Terminal algo semelhante a figura abaixo.
Voltando para o repositório no Github podemos visualizar a versão atualizada, mais upstream do repositório no ramo master
.
O pacote leaflet
permite adicionar mapas interativos nos documentos em html
, permitindo que o usuário possa investigar com maior detalhe os detalhes plotados no mapa. Abaixo, vamos criar um mapa utilizando os dados de ocorrência do gênero Corvus (apenas para mudar do ambiente marinho um pouco). As etapas de aquisição e filtragem dos dados são as mesmas da atividade 3, então não serão detalhadas novamente.
library(tidyverse)
library(rgbif)
# ocorrencias
<- occ_data(scientificName = "Corvus",
corvus_gbif hasCoordinate = TRUE,
hasGeospatialIssue = FALSE)
# checar issues
<- corvus_gbif$data$issues %>%
issues_gbif unique() %>%
strsplit(., "[,]") %>%
unlist()
gbif_issues() %>%
data.frame() %>%
filter(code %in% issues_gbif)
## code issue
## 1 cdround COORDINATE_ROUNDED
## 2 gass84 GEODETIC_DATUM_ASSUMED_WGS84
## 3 fpwktinv FOOTPRINT_WKT_INVALID
## description
## 1 Original coordinate modified by rounding to 5 decimals.
## 2 Indicating that the interpreted coordinates assume they are based on WGS84 datum as the datum was either not indicated or interpretable.
## 3 The Footprint Well-Known-Text given could not be interpreted
## type
## 1 occurrence
## 2 occurrence
## 3 occurrence
# selecionar variaveis
<- corvus_gbif$data %>%
corvus ::select(scientificName, decimalLatitude, decimalLongitude) %>%
dplyrdistinct()
Depois de carregar os dados, basta criar um mapa seguindo a sintaxe abaixo. Nela, indicamos um data.frame
com dados de coordenadas geográficas em graus decimais. A função addTiles
é responsável por indicar o tipo de mapa base utilizado. Aqui vamos utilizar o fundo padrão, mas para mais opções acesse este tutorial. Vamos plotar o mapa e dar uma conferida nas ocorrências.
library(leaflet)
# conferir no mapa
%>%
corvus leaflet() %>%
addTiles() %>%
addMarkers(~decimalLongitude,
~decimalLatitude)
Podemos também dar uma incrementada mudando o tipo de marcador e incluir diferenças de acordo com os níveis de um fator, neste caso datasetName
. Também é importante adicionar uma legenda ao mapa para indicar o significado das cores dos marcadores. Novamente, acesse o tutorial indicado para aprender como explorar ainda mais os recursos desta ferramenta.
br>
<- colorFactor(palette = "viridis", domain = unique(corvus$scientificName))
pal
%>%
corvus leaflet() %>%
addTiles() %>%
addCircleMarkers(~decimalLongitude,
~decimalLatitude,
radius = 5,
label = ~as.character(scientificName),
color = ~pal(corvus$scientificName),
stroke = FALSE, fillOpacity = 0.5) %>%
addLegend('bottomright',
colors = unique(pal(corvus$scientificName)),
labels = unique(corvus$scientificName),
title = 'Espécie',
opacity = 0.5)
A biblioteca Plotly
cria gráficos interativos customizáveis dos mais diversos tipos: gráficos de linha, gráficos de dispersão, gráficos de área, gráficos de barras, boxplot, histogramas, heatmaps, gráficos 3D (baseados em WebGL) e até gráficos animados.
A seguir, vamos utilizar um exemplo simples utilizando os mesmos dados dos corvos. Em princípio, vamos plotar os dados de ocorrência e relação à latitude, uma vez que a maioria deles está concentrada no hemisfério norte.
%>%
corvus mutate(lat = round(decimalLatitude)) %>%
group_by(lat, scientificName) %>%
summarise(occ = length(scientificName)) %>%
ggplot(aes(y = occ, x = lat, color = scientificName)) +
geom_point() +
geom_smooth() +
theme_classic() +
labs(x = "latitude", y = 'ocorrências')
Acima observamos que existe apenas uma ocorrência (Corvus coronoides) no hemisfério sul (latitude < 0) e isso dificulta a visualização do restante dos dados. Podemos limitar a escala do eixo para focar na área de maior concentração de dados.
%>%
corvus mutate(lat = round(decimalLatitude)) %>%
group_by(lat, scientificName) %>%
summarise(occ = length(scientificName)) %>%
ggplot(aes(y = occ, x = lat, color = scientificName)) +
geom_point() +
geom_smooth() +
theme_classic() +
labs(x = "latitude", y = 'ocorrências') +
xlim(40, 75)
Uma das vantagens do Plotly
é permitir interagir com os gráficos e isso inclui selecionar alguns dados, verificar valores passando a cursor do mouse sobre os elementos gráficos e dar zoom em partes do gráfico. Veja o exemplo abaixo. Nele é possível ter uma ideia de todos os valores e investigar os valores na região com maior concentração de dados.
library(plotly)
<- corvus %>%
cc mutate(lat = round(decimalLatitude)) %>%
group_by(lat, scientificName) %>%
summarise(occ = length(scientificName)) %>%
ggplot(aes(y = occ, x = lat, color = scientificName)) +
geom_point() +
geom_smooth() +
theme_classic() +
labs(x = "latitude", y = 'ocorrências')
ggplotly(cc)
Este foi apenas um exemplo, para mais funções, acesse o tutorial do Plotly
.
Colabore, compartilhe, e cite as fontes!