Tenho certeza que você já tentou ler algum código, talvez até mesmo um código seu antigo, e se embolou no meio do script, não conseguiu entender alguma função e ficou por isso mesmo.. enfim, muitas vezes pessoas escrevem um código sem imaginar que outra pessoa poderá ler ou que ele poderá usa-lo novamente no futuro e não irá entender mais nada. Por isso, existe o que chamamos de boas práticas na programação. Boas práticas, em resumo, são dicas que servem para que você possa produzir um código mais organizado e padronizado, que permitirá que outras pessoas ou até mesmo você daqui um tempo, consiga entende-lo sem dificuldades. Daqui pra frente você poderá criar ou editar os códigos de uma maneira que ele fique mais fácil de se ler, entender e fazer possíveis alterações. Então vamos para as dicas:
# bom
trabalho_estatistica_3
primeiro_mes
# ruim
Trabalho de estatística 3
Primeiro_MÊS
mean <- mean(dados)
desvio_padrao <- sd(dados)
p <- x
# sempre
(1, 2, 3)
[pedro, 4, x]
# nunca
(1,2,3)
[pedro , joao ,3]
# sempre
filter(dados, mes == "janeiro")
# nunca
filter (dados, mes == "janeiro")
filter( dados, mes == "janeiro" )
Os colchetes {} definem a hierarquia mais importante do R. Para facilitar a visualização dessa hierarquia devemos seguir alguns passos.
{ deve ser o último caractere da linha.
O conteudo deve ser recuado por dois espaços.
} deve ser o primeiro caractere da linha
# sempre
if ( x < mean(dados)) {
message("x está abaixo da média")
}
if (y == 0) {
if (x > 0) {
log(x)
} else {
message("x é negativo ou zero")
}
} else {
y^x
}
# nunca
if (x < mean(dados)) {
message("x está abaixo da média")
}
if (y == 0)
{
if (x > 0) {
log(x)
} else {
message("x é negativo ou zero")
}
} else { y^x}
<- e não = para qualquer atribuição.# sempre
x <- 1
# nunca
x = 1
"" para citar textos ao ínves de aspas simples ''. A não ser que o texto já possua aspas duplas# sempre
"qualquer texto"
'qualquer "texto"'
# nunca
'qualquer texto'
T para true e F para false, entretando, sempre opte por usar a palavra completa, TRUE e FALSE.#). No código de análise de dados, use comentários para registrar descobertas importantes e decisões de análise. Se você precisar de comentários para explicar o que seu código está fazendo, considere reescrever seu código para ficar mais claro.O pipe “%>%” é uma função bastante utilizada no R. Sempre o use para enfatizar uma sequência de ações, em vez do objeto no qual as ações estão sendo realizadas e o evite usar quando estiver manipulando mais de um objeto por vez.
deve sempre ter um espaço antes dele e geralmente deve ser seguido por uma nova linha. Após isso, cada linhas deve ser recuada por dois espaços (o R faz isso automaticamente ao pular de linha). Essa estrutura do pipe torna mais fácil adicionar novas etapas e mais difícil ignorar outra.
um pipe de uma única etapa pode permanecer em uma linha, a não ser que você planeje expandi-lo posteriormente
dados %>%
group_by(Species) %>%
summarise(
Sepal.length = mean(Sepal.length),
Sepal.Width = mean(Sepal.Width),
Species = n_distinct(Species)
)
# pequeno exemplo
casos <- dados %>%
group_by(RacaCor, Sexo) %>%
summarise(n_casos = n()
+ usadas para separar camadas do ggplot2 são muito semelhantes àquelas para %>% pipe.+, além disso, sempre que o utilizar, siga para uma nova linha. Não coloque mais de uma camada do gráfico na mesma linha, mesmo que o gráfico tenha apenas duas camadas. Outra coisa importante, se o argumento for muito grande para apenas uma linha, coloque cada argumento em uma linha.# sempre
ggplot(letalidade) +
geom_col(aes(x = RacaCor, y = taxa_l, fill = Sexo), position = "dodge") +
labs(x = "Pessoas",
y = "Letalidade (%)",
title = "Taxa de letalidade da COVID-19 no ES") +
scale_fill_viridis_d() +
theme_bw()
# nunca
ggplot(letalidade) +
geom_col(aes(x = RacaCor, y = taxa_l, fill = Sexo), position = "dodge") + labs(x = "Pessoas", y = "Letalidade (%)", title = "Taxa de letalidade da COVID-19 no ES") + scale_fill_viridis_d() + theme_bw()
%>%).# sempre
iris %>%
filter(Species == "setosa") %>%
ggplot(aes(x = Sepal.Width, y = Sepal.Length)) +
geom_point()
# nunca
ggplot(filter(iris, Species == "setosa"), aes(x = Sepal.Width, y = Sepal.Length)) +
geom_point()
A função attach () em R pode ser usada para tornar objetos dentro de dataframes acessíveis em R com menos pressionamentos de tecla. Essa função, em contrapartida, tem uma grande chance de causar erros no seu código. Evite usa-la.
O R possui uma função que irá formatar seu código com algumas boas práticas, como espaçamento, pontuação, quebra de linhas e etc. Basta selecionar a parte do código desejada e utilizar ctl + shift + a.
Não coloque ; no final de uma linha e não use ; para colocar vários comandos em uma linha. O ; serve para que você quebre a linha do seu código sem precisar dar enter.
Vale lembrar que essas foram apenas algumas das ínumeras dicas de boas praticas existentes, mas praticando essas você irá construir um código muito bem estruturado e de fácil entendimento. No futuro iremos postar uma playlist com vídeos curtos no nosso canal no youtube a respeito dessas boas práticas.
Basta cliclar AQUI para ter acesso direto ao canal.