48 Conseguindo ajuda
Esta página aborda sobre como obter ajuda postando um problema (issue) no Github ou postando um exemplo reprodutível (“reprex” ou MRE para Minimal reprodutible exemple) em um fórum online.
48.1 Issues (problemas) do Github
Muitos pacotes e projetos R têm seu código hospedado no site Github.com. Você pode se comunicar diretamente com os autores através do site, postando um “Problema”.
Leia mais sobre como armazenar seu trabalho no Github na página Colaboração e Github.
No Github, cada projeto está contido em um repositório. Cada repositório contém código, dados, saídas, documentação de ajuda etc. Existe também um veículo de comunicação com os autores denominado “Problemas”.
Veja abaixo a página do Github para o pacote incidence2 (usado para fazer curvas epidêmicas). Você pode ver a guia “Issues” (Problemas, em imglês) destacada em amarelo. Você pode ver que existem 5 questões em aberto.
Nesta guia Issues você pode ver os problemas em aberto. Revise-os para garantir que seu problema não foi resolvido ainda. Você pode abrir um novo problema clicando no botão verde à direita. Para fazer isso, será necessário ter uma conta Github.
Siga as instruções abaixo para fornecer um exemplo mínimo e reproduzível do seu problema. Por favor, seja educado(a)! A maioria das pessoas que desenvolve pacotes e projetos R estão fazendo isso no seu tempo livre (como este manual!).
Para ler materiais mais avançados sobre como lidar com problemas no seu repositório, verifique a documentação sobre problemas do Github.
48.2 Exemplo reprodutível
Fornecer um exemplo reprodutível (“reprex”) é a chave para obter ajuda com sua postagem ou problema no Github. As pessoas querem ajudá-lo, mas você precisa dar um exemplo com o qual elas possam trabalhar em seus próprios computadores. O exemplo deve:
- Demonstrar o problema que você encontrou
- Ser o mais curto possível, incluindo apenas os dados e o código necessário para reproduzir o seu problema
- Ser reprodutível, de modo que todos os objetos (por exemplo, dados), e pacotes sejam incluídos (por exemplo,
library()
oup_load()
)
Além disso, certifique-se de não postar nenhum dado sensível com o reprex! Você pode criar dataframes de exemplo ou usar um dos dataframes embutidos no R (insira data()
para abrir uma lista desses conjuntos de dados).
O pacote reprex
O pacote reprex pode ajudá-lo a fazer um exemplo reprodutível:
- reprex é instalado com tidyverse, então carregue qualquer um dos pacotes
# intale/carregue o tidyverse (que inclui o reprex)
::p_load(tidyverse) pacman
- Inicie um script R que gere seu problema, passo a passo, começando com o carregamento de pacotes e dados.
# carregar pacotes
::p_load(
pacman# manipulação de dados e visualização
tidyverse, # exemplos de dados de surtos
outbreaks)
# linelist lista dos casos da epidemia de gripe
<- outbreaks::fluH7N9_china_2013 #recuperar conjunto de dados do pacote de surtos
outbreak_raw
# Limpar conjunto de dados
<- outbreak_raw %>%
outbreak mutate(across(contains("date"), as.Date))
# Visualizar epidemia
ggplot(data = outbreak)+
geom_histogram(
mapping = aes(x = date_of_onset),
binwidth = 7
+
)scale_x_date(
date_format = "%d %m"
)
Copie todo o código para a área de transferência e execute o seguinte comando:
::reprex() reprex
Você verá uma saída HTML aparecer no painel RStudio Viewer. Ele conterá todo o seu código e quaisquer avisos, erros ou resultados de plotagem. Essa saída também é copiada para sua área de transferência, para que você possa publicá-la diretamente em um problema do Github ou em uma postagem do fórum.
- Se você definir
session_info = TRUE
, a saída desessioninfo ::session_info()
incluírá suas versões do R e dos pacotes R - Você pode fornecer um diretório de trabalho para
wd =
- Você pode ler mais sobre os argumentos e possíveis variações em documentation ou inserindo
?Reprex
No exemplo acima, o comando ggplot()
não rodou porque o argumento date_format =
não está correto - deveria ser date_labels =
.
Dados mínimos
As pessoas que vão te ajudar precisam ser capazes de usar seus dados - de preferência, eles precisam ser capazes de criá-los com código.
Para criar um conjunto de dados mínimos, considere anonimizar e usar apenas um subconjunto das observações.
EM CONSTRUÇÃO - você também pode usar a função dput()
para criar um conjunto mínimo de dados.
48.3 Postar em um fórum
Leia muitas postagens do fórum. Entenda quais postagens são bem escritas e quais não são.
Primeiro, decida se deseja fazer a pergunta. Você revisou extensivamente o site do fórum, tentando vários termos de pesquisa, para ver se sua pergunta já foi feita?
Dê um título informativo à sua pergunta (não algo como “Socorro! Isso não está funcionando!”).
Escreva sua pergunta:
- Apresente sua situação e problema
- Faça um link com postagens de problemas semelhantes e explique porque eles não responderam à sua pergunta
- Inclua qualquer informação relevante para ajudar alguém que não conhece o contexto do seu trabalho
- Dê um exemplo reprodutível mínimo com as informações do seu trabalho
- Use ortografia, gramática e pontuação adequadas e divida sua pergunta em parágrafos para que seja mais fácil de ler
Depois de postar, monitore sua pergunta para responder a qualquer pedido de esclarecimento. Seja educado(a) e cortês - muitas vezes as pessoas que respondem estão oferecendo seu tempo para ajudá-lo. Se você tiver uma pergunta de acompanhamento, considere se deve ser uma pergunta postada separada.
Marque a pergunta como respondida, se obtiver uma resposta que atenda à solicitação original. Isso ajuda outras pessoas a reconhecerem rapidamente a solução mais tarde.
Leia estas postagens sobre como fazer uma boa pergunta e sobre ocódigo de conduta do Stack overflow.
48.4 Recursos
Página do Tidyverse sobre como obter ajuda!
Dicas para produzir um conjunto mínimo de dados
Documentação para a função dput