diff --git a/R/PimentelEg5.2.R b/R/PimentelEg5.2.R index 9b465c5ddabb742153ac4a5bf34fa44ffb518c47..df2fccba77bb584f8c8bc074021a25e75b4def27 100644 --- a/R/PimentelEg5.2.R +++ b/R/PimentelEg5.2.R @@ -13,22 +13,25 @@ #' \item{\code{variedade}}{Fator de 8 nÃveis qualitativos que são as #' variedades de batatinha.} #' -#' \item{producao}{Produção de batatinha, em ton ha\eqn{^{-1}}, nas -#' unidades experimentais.} +#' \item{producao}{Produção de batatinha, em ton ha\eqn{^{-1}}.} #' #' } #' @keywords DBC -#' @source Pimentel-Gomes, F. (2009). Curso de EstatÃstitica -#' Experimental (15th ed.). Piracicaba, SP: FEALQ. (Exemplo 5.2) +#' @source PIMENTEL-GOMES (2009), Exemplo 5.2, pág. ??. #' @examples #' #' library(lattice) #' #' data(PimentelEg5.2) +#' str(PimentelEg5.2) #' -#' xyplot(producao ~ variedade, groups = bloco, data = PimentelEg5.2, -#' type = "b", -#' ylab=expression(Produção~(t~ha^{-1})), -#' xlab="Variedades de batatinha") +#' xtabs(~variedade + bloco, data = PimentelEg5.2) +#' +#' xyplot(producao ~ variedade, +#' groups = bloco, +#' data = PimentelEg5.2, +#' type = "o", +#' ylab = expression(Produção ~ (t ~ ha^{-1})), +#' xlab = "Variedades de batatinha") #' NULL diff --git a/STYLEGUIDE.md b/STYLEGUIDE.md deleted file mode 100644 index de7a52315d6edd6927fc1da8c5c38333c11a1e0f..0000000000000000000000000000000000000000 --- a/STYLEGUIDE.md +++ /dev/null @@ -1,696 +0,0 @@ -Guia de Estilo de Escrita de Código R -===================================== - -Walmes Zeviani - LEG/DEST/UFPR\ -Fernando Mayer - LEG/DEST/UFPR\ -Eduardo Jr - PET EstatÃstica/UFPR - -**** - -> Ugly code writers will respond, 'my ugly code runs!' That misses the -> point. Coding style is not about make things 'work', is about making -> them work in a way that is undestood by widest possible audience."\ - ->> -- Paul E. Johnson, R Style. An Rchaeological Commentary. - -**Sumário** - - - [Nomes de arquivos](#nomes-de-arquivos) - - [Nomes de objetos](#nomes-de-objetos) - - [Contadores](#contadores) - - [Matrizes](#matrizes) - - [Atribuição](#atribuio) - - [Indentação](#indentao) - - [Operadores](#operadores) - - [Alinhamento vertical de referência (nos operadores)](#alinhamento-vertical-de-referncia-nos-operadores) - - [VÃrgulas](#vrgulas) - - [Lagura de texto](#lagura-de-texto) - - [Quebras de linha](#quebras-de-linha) - - [Comentários](#comentrios) - - [Divisões de código](#divises-de-cdigo) - - [Linhas em branco](#linhas-em-branco) - - [Aspas](#aspas) - - [Chaves](#chaves) - - [Colchetes](#colchetes) - - [Parênteses](#parnteses) - - [Ponto e vÃrgula](#ponto-e-vrgula) - - [Documentação embutida de funções](#documentao-embutida-de-funes) - - [Carregando pacotes](#carregando-pacotes) - -Um Guia de Estilo de Código é um conjunto de recomendações (ou regras) -para padronizar a forma de escrever código. Códigos que são escritos -seguindo um estilo padrão são mais fáceis de manter, modificar e -garantir que estão corretamente escritos e funcionais, principalmente -quando muitos programadores estão envolvidos. - -Quase todas as linguagem de programação permitem que os usuários adotem -diferentes padrões de escrita de código. Algumas não diferenciam -maiúsculas e outras não exigem indentação, por exemplo. Em função de -simplicidade, comodismo ou inércia na hora de escrever ou por causa de -caracterÃsticas da linguagem ou do editor usado, os usuários quase -sempre tem um padrão particular para escrita de código. - -Esse é um Guia de Estilo Código estabele as convenções a serem seguidas -para escrita de código R. Esse documento é baseado na consulta à varias -fontes e deliberações próprias em alguns casos. A lista das principais -fontes na qual esse Guia é baseado está abaixo. - - * Guia de Estilo por [Hadley Wickham]: - <http://adv-r.had.co.nz/Style.html>. - * Guia de Estilo do Google: - <https://google.github.io/styleguide/Rguide.xml>. - * Guia de Estilo por - [Dylan Schwilk](http://www.depts.ttu.edu/biology/people/faculty/schwilk/) - <http://r-research-tool.schwilk.org/handouts/style-guide.html>. - * Guia de Estilo do R Data Science: - <https://github.com/rdatsci/PackagesInfo/wiki/R-Style-Guide>. - * Nota de Paul Johnson estilo de escrita de código: - <https://cran.r-project.org/web/packages/rockchalk/vignettes/Rstyle.pdf>. - -**** -## Nomes de arquivos ## - -Nomes de arquivos R devem ter o sulfixo maiúsculo. - -``` -# Bom. -script.R - -# Ruim. -script.r -``` - -No entanto, o nome do arquivo não pode ser vago como `script` -- que é -algo óbvio. Use nomes com significado. Se for preciso, use um nome -composto, mas não use espaços nos nomes (nem para diretórios). Isso -evita um tanto de problemas de `path`. Dê preferência para o *undescore* -como separador, já que ponto separa a extensão do nome e traço é -separador de palavras compostas (guarda-chuva, super-homem, ex-aluno). - -``` -# Bom. -prepara_dados.R -ajusta_modelo.R - -# Ruim. -prepara dados.R -ajusta modelo.R -``` - -As extensões `Rmd`, `Rnw`, `RData`, `Rd` devem ter o R do sulfixo -maiúsculo também, além de nomes não vagos ou óbvios. - -Se em um conjunto de arquivos houver relação sequêncial entre eles, -destaque isso no nome. Por exemplo, componha nomes com números -precedidos do mesmo nome. - -``` -# Bom. -0_prepara_dados.R, 1_ajusta_modelo.R -cap1_introducao.Rmd, cap2_exploratoria.Rmd, ..., cap5_conclusoes.Rmd -``` - -A vantagem de colocar um prefixo numerado é que os arquivos são exibidos -em sequência no seu navegador de arquivos quando a ordenação for -alfabética. Mas lembre-se que a ordenação é léxica e por isso `cap23*` -aparece antes de `cap4*`. Evite usando zeros à esqueda, `cap04`. - -## Nomes de objetos ## - -Nomes de objetos devem ter um bom compromisso entre significado e -praticidade (ou digitabilidade). Ou seja, não deve ser curto ao ponto de -perder significado nem longo ao ponto de demorar para escrever. Quanto -maior um nome, mais erramos ao escrevê-lo. Principalmente quando contém -acentos, certo? Portanto, evite nomes que levem acentos (âãà áçêéÃôõóú). - -Dependendo da classe e da quantidade de objetos na sua sessão -ou pacote, você pode ser mais ou menos verboso (usar nomes maiores ou -menores) na hora de defini-los para devidamente distingui-los. - -Existem 3 estilos predominantes para escrita de nomes de objetos: - - * *dot.case*: é o estilo que usa o separador como ponto. Foi o - primeiro a usado no R e inclusive incentivado por algum tempo. Uma - prova disse são as várias funções com esse padrão no R (todas as - `read.`, `as.`, `is.`, por exemplo). A mais notáveis são sa funções - método nas quais o ponto separa o nome da a função genérica da - classe o objeto que ela recebe. Por exemplo, `anova.lm` é a função - que retorna o quadro de ANOVA para objetos da classe `lm`. Nesse - caso o ponto tem função além da estética e não pode ser substituÃdo - por nada. - * *snake_case*: é o estilo que usa o *underscore* como separador. O - pacote [devtools], do [Hadley Wickham], usa esse padrão. No pacote - [mcglm] esse estilo também foi adotado integralmente. Muitos - consideram um custo digitar o *underscore* (combina teclas) ao passo - que outros argumentam que facilita a leitura (pois é um traço - rasteiro sem altura). - * *camelCase*: é o estilo que usa letras maiúsculas para as iniciais - das palavras, com exceção da palavra inicial. O pacote [car], do - [John Fox], usa esse estilo. - -Uma quarto estilo é o *PascalCase* que difere do *camelCase* porque -todas as iniciais são maiúsculas. A mesma função teria os seguintes -nomes em cada caso: *read.table*, *read_table*, *readTable* e -*ReadTable*. - -As implementações recentes de pacotes têm evitado o uso do *dot.case* -para nomes de funções por confusões com funções métodos. No entanto, a -reserva do ponto é para as funções método, assim, para objetos não -existe problema. - -O importante é que você seja consistente, assuma e mantenha o mesmo -estilo em todo seu pacote ou *scripts*. Um exemplo de projeto aberto em -que todos seguem o padrão é no Emacs, onde todos os objetos usam o -*dot-case*. - -Seja qualquer uma das 3 opções, a diferença só vai existir para objetos -de nome composto, logicamente. Ainda assim, existem padrões usados pela -maioria que distinguem objetos pela sua classe ou uso. Veremos alguns a -seguir. - -### Contadores ### - -Contadores são variáveis definidas para uso em um *loop*. Para -corresponder aos pseudo-códigos e expressões matemáticas, usa-se uma -letra apenas. As mais usadas são i e j. O nome pequeno, com uma letra, é -interessante também porque é comum o contador do *loop* ser usado para -selecionar frações dos objetos (elementos, linhas, colunas, etc), dentro -dos colchetes simples ou duplos, deixando o código mais claro. - -```r -x <- 1:10 -for (i in 1:length(x)) { - x[i] <- sum(x[1:i]) + i -} -``` - -### Matrizes ### - -O nome de matrizes geralmente se usa letras maiúsculas, a exemplo do que -se faz nos textos matemáticos. Portanto, são opções imediatas `X`, `Y`, -`K`, `C`, `A`, `L`, `U`, `V`, etc. - -IMPORTANTE: Evite usar `c`, `t`, `q`, `T` e `F` como nomes de -objetos. As três primeiras são funções para concatenar vetores, transpor -matrizes e sair do R (*quit*) e as últimas são abreviações de `TRUE` e -`FALSE` (que não recomendamos usar, inclusive). - -## Atribuição ## - -Faça atribuição de objetos com o sinal de atribuir (`<-`) e não com o -de igual. Deixe espaço cercar o operador. - -```r -# Bom. -x <- 1:10 -notas <- data.frame(aluno, freq, nota) - -# Ruim. -x = 1:10 -notas = data.frame(aluno, freq, nota) - -# Péssimo. -x=1:10 -notas<-data.frame(aluno, freq, nota) -``` - -O sinal de igual, embora faça atribuição também, não deve ser usado para -isso. Reserva-se a passar valores para os argumentos de uma função ou -nomear os elementos de objetos. - -```r -# Nomes que levam certos caracteres devem declarados como string. -notas <- c(Carlos = 95, Lucas = 89, Pedro = 77, "Antônio Augusto" = 60) -``` - -## Indentação ## - -A indentação é um dos requisitos fundamentais de estilo de código. É -perda de tempo tentar compreender um código que não está devidamente -indentado. Todo editor de texto voltado para programação tem recursos de -indentação. - -A indentação em código R é com 4 espaços. Não se usa tabulação. É comum -encontrar código com tabulação de 2 espaços, que é inclusive a opção -*default* do [RStudio]. Programadores argumentam que a indentação com 2 -espaços impõe pouca evidência da hierarquia do código, principalmente -para fontes de texto que sejam finas. Além disso, 4 espaços é -equivalente a uma tabulação (que não devem se usada). Para mudar o -número de tabulações do [RStudio], vá em `Tools > Global options > Code -> Editing` e em `Tab width` use 4. O [Emacs] usa 4 espaços por -*default*. - -```r -# Bom. -for (i in 1:3) { - if (a > 0) { - m0 <- lm(log(y) ~ x, - data = animals[[i]]) - } else { - m0 <- lm(y ~ x, - data = animals[[i]]) - } -} - -# Ruim. -for (i in 1:3) { -if (a > 0) { -m0 <- lm(log(y) ~ x, -data = animals[[i]]) -} else { -m0 <- lm(y ~ x, -data = animals[[i]]) -} -} -``` - -## Operadores ## - -Deixe espaços ao redor dos operadores lógicos e matemáticos. - - * Operadores lógicos: `==`, `!=`, `<`, `<=`, `>`, `>=`, `%in%`, `&`, - `&&`, `|`, `||`. - * Operadores matemáticos: `+`, `-`, `*`, `%*%`, `%%`, `%/%`, `%o%`. Os - operadores `^` e `/` são considerados exceções e não devem ter - espaços. Embora `**` seja um operador equivalente ao `^`, seu uso - não é recomendado. - -Certos operadores tem emprego diferenciado dependedo do que -precede. Observe abaixo o emprego do sinal de menos e para o operador -`~`, usado em fórmulas. - -```r -# Diferença para o menos de negativo e menos de subtração. -x <- -5 + 2 -x <- 2 - 5 -x <- -2 * (-3 - 4) - -# Fórmulas empregam a mesma ideia. -m <- ~a + b -m <- k ~ a + b -``` - -Os operador de sequência `:` e os operadores `::` e `:::`, não podem ser -usados com espaços. O mesmo vale para o operador `$`, usado para -consultar listas de data frames, e o `@`, usados para consultar listas -de objetos S4. - -```r -# Uma sequência regular. -12:15 - -# Criando uma função e chamando de `sum`. -sum <- function(x) print("Olá") -sum(c(98, 67, 14)) - -# Usando a sum() do pacote base. -base::sum(c(98, 67, 14)) - -# Com ::: você acessa as funções não exportadas de um pacote. A função -# addterm() do pacote MASS é uma função método cujos métodos não são -# exportados. Para usar tais funções o ver o seu código, é necessário -# 'invadir a privacidade do MASS'. -library(MASS) -ls("package:MASS") # Mostra objetos exportados. -addterm # Tenta ver o corpo da função. -methods(addterm) # Consulta o nome dos seus métodos. -addterm.lm # Tenta mas não encontra a função. -MASS::addterm.lm # Com o namespace diz que não foi exportada. -MASS:::addterm.lm # Com ::: o corpo da função aparece. - -# Consulta uma variável em um data.frame. -cars$speed - -# Ajusta e consulta elementos na lista de um ajuste. -m0 <- lm(dist ~ speed, data = cars) -names(m0) -m0$coefficients -m0$fitted -``` - -## Alinhamento vertical de referência (nos operadores) ## - -Quando alinhamento vertical (*columnate*) de referência em um operador -der mais clareza ao código, isso pode ser feito. - -```r -altura <- rnorm(100, mean = 1.8, sd = 0.1) -peso <- rnorm(100, mean = 70, sd = 5) -idade <- sample(20:50, size = 100, replace = TRUE) - -plot(peso ~ altura, - xlab = "Altura (m)", - ylab = "Peso (kg)", - col = gray(idade/100), - pch = 19) -``` - -Esse padrão vai exigir mais trabalho e não são muitos os editores que -tem o recurso de indentação por referência. O trabalho de indentar -manualmente e manter isso nas revisões deve ter peso na decisão de -usar. O [Emacs] tem o recurso de indentação baseado em expressão -regular. Para aplicá-lo aos sinais de igual, selecione o texto e dê `M-x -align-regexp RET = RET` (`RET` é pressionar Enter). Você pode, se usar -isso com frequência, criar um *key binding* para uma função que faça -isso no código selecionado. - -```lisp -(defun columnate-at-R-assign-operator () - "Função que alinha a região com a primeira ocorrência de sinais - ` <- ' e ` = '. Baseado em: - http://stackoverflow.com/questions/13315064/ - marker-does-not-point-anywhere-from-align-regexp-emacs" - (interactive) - (save-excursion - (align-regexp (region-beginning) (region-end) - "\\(\\s-*\\) \\(<-\\|=\\) " 1 1 nil))) - -(global-set-key (kbd "C-c a") 'columnate-at-R-assign-operator) -``` - -## VÃrgulas ## - -VÃrgulas devem ser seguidas de espaço, exceto para as de final de -linha. Elas não devem ser precedidas de espaço, exceto quando precedidas -por outra vÃrgula dentro dos colchetes de seleção. - -```r -# Bom. -EyeHairColor[, , 2] -x <- c("Nashville", "Seattle Tacoma", "Wilmington", "Boise", "Raleigh", - "Charleston", "Juneau") - -# Ruim. -EyeHairColor[,,2] -y <- c("Nashville","Seattle Tacoma","Wilmington","Boise","Raleigh", - "Charleston","Juneau") -``` - -## Lagura de texto ## - -Assim como a indentação, a largura do texto precisa ser obdecida. Os -editores de R em geral trabalham com duas janelas, em uma o script e na -outra o console. Para trabahar lado a lado é importante não haver -rolamento (*scroll*) horizontal de janela/página. É também mais rápido -navegar no código no sentido vertical, pulando linhas, do que no sentido -horizontal, pulando characteres ou palavras. Isso sem contar que um -texto mais estreito favoresce a compreensão porque, sendo mais vertical, -a hierarquia se torna mais evidente. E por último, um código de linhas -curtas está menos sujeito a quebras de linha acidentais quando enviado -em mensagens, enviados para impressão ou inseridos em processadores de -texto. - -Costuma-se usar 80 ou 72 espaços como comprimento máximo de linha, sendo -este último ligeiramente mais adequado para trabalhar com *script* e -*console* lado a lado nos monitores de resolução atuais. - -No [Emacs], para comodidade, pode-se habilitar o quebrar linhas -automaticamente (`M-x auto-fill-mode`). Caso não goste, como muitos que -acham um pouco desastroso, pode apenas habilidar o destaque com cores -para linhas que excedem os limites. - -```lisp -;; Define o comprimento máximo de texto para a linha. -(setq-default fill-column 72) - -;; Habilita o quebra automática onde ultrapassar. -(setq-default auto-fill-function 'do-auto-fill) - -;; Destaca com cores o texto que ultapassa o limite. -(require 'whitespace) -(setq whitespace-line-column fill-column) -(setq whitespace-style - '(face lines-tail trailing spaces tabs empty)) -(global-whitespace-mode +1) -``` - -Na versão corrente do [RStudio] (0.99.467), quebra de linha automática -não está disponÃvel. O que se pode fazer, no entanto, é exibir uma linha -vertical na margem. Para isso, vá em `Tools > Global options > Code > -Display`, habilite `Show margin` e em `Margin column` use 72. - -## Quebras de linha ## - -Seja automaticamente ou não, para manter seu código dentro das margens -você terá que quebrar linhas. No entanto, não é só pressionar ENTER. A -nova linha deve ser indentada no nÃvel correto -- coisa que editores -para programação fazem automaticamente. A linha quebrada 1) não deve -terminar com espaços ou sinal de igual e 2) deve terminar com operadores -lógicos ou matemáticos para garantir continuidade dessas operações. - -Os espaços no final de linha são desnecessários, então evite-os. No -[Emacs] você pode habilitar a remoção automática de espaços de final de -linha (*traling spaces*). - -```lisp -;; Habilita removação de espaços de fim de linha quando salva o arquivo. -(add-hook 'before-save-hook 'delete-trailing-whitespace) -``` - -Terminar linhas com sinal de igual significa que argumento e valor -ficaram em linhas diferentes. Embora não prejudique a execução do -código, evitar isso melhora a legibilidade do código. - -Quando for necessário quebrar linhas em meio a operações matemáticas e -lógicas, as linhas tem que terminar com um operador para haver -continuidade da operação. - -```r -# Bom. -mean(precip, - na.rm = TRUE) - -# Ruim. -mean(precip, na.rm = - TRUE) - -# x será apenas o resultado da soma, que é uma instrução completa. -x <- 2 + 4 + 5 -- 3 - 8 - -# Agora x será o resultado de soma e diferença. -x <- 2 + 4 + 5 - - 3 - 8 -``` - -## Comentários ## - -Comentários no R são precedidos de `#` em qualquer quantidade. O [Emacs] -[ESS] (*Emacs Speak Statistics* ou *Emacs Statistical System*) usa, por -padrão, dois characteres porque imitou o esquema do `emacs-lisp-mode` -onde o número de caracteres recebe indentação diferente: `#` indenta por -padrão no digito 40, `##` indenta de acordo com o nÃvel do código e -`###` fica sempre colado com a margem esquerda. No [RStudio], no -entanto, não é possÃvel escolher o número de caracteres e sua -indentação. É sempre `#` e alinhado ao código (para quê melhor, muitos -vão dizer). Por isso, vale o denomidador comum e usuários de [Emacs] -podem desabilidar o padrão do [ESS]. - -```lisp -(add-hook 'ess-mode-hook - '(lambda() - ;; Sem estilos de indentação. - (setq ess-indent-with-fancy-comments nil) - ;; Usar # para comentários. - (setq-local comment-add 0))) -``` - -## Divisões de código ## - -Uma boa prática, principalmente se seu código é material de ensino, é -fazer divisões nele como se fossem seções de um artigo. Use uma marcação -visual consistente e fácil de manter. Por anos nós usamos réguas com -traços de tamanho 72 digitos e acreditamos ser uma das melhores -opções. Muitos usam divisões com o sinal de comentários, #, mas -acreditamos ficar carregado devido ao caracter ser volumoso. - -Para diferenciar o nÃvel da divisão, usamos 3 variações: a maior (para -capÃtulo e cabeçalho) é feita com sinal de igual (`=`), a média (para -seção) é com traços (`-`) e a menor (para subseção) também, tem -comprimento inferior (45 digitos). Criamos um *key binding* para isso no -Emacs por comodidade mas se você usa outro editor que indique a coluna -72, pressione até preencher com o digito desejado. Lembre-se de preceder -com um `#`. - - * `Ctrol-7-1 =`: Com o control pressionado digite 71, solte e pressione - `=`. Isso vai repetir o = 71 vezes. - * `Ctrol-7-1 -`: Idem mas com traço. - * `Ctrol-4-4 -`: Idem mas repetindo 44 vezes. - -```r -#======================================================================= -# (TÃtulo) - -#----------------------------------------------------------------------- -# (seção) - -#------------------------------------------- -# (subseção) -``` - -## Linhas em branco ## - -As linhas em branco, assim como as divisões horizontais, servem para dar -mais clareza ao código (e fôlego para quem lê/decifra). Entenda o código -como um texto: divida-o em frases, parágrafos, subseções, seções e -capÃtulos. Os três últimos você pode fazer com as divisões e os dois -primeiros com linhas em branco. Evite usar mais do que duas linhas em -branco seguidas. - -## Aspas ## - -Use sempre as aspas duplas. Elas são mais visÃveis que as simples por -serem mais grossas e não se confundem tão facilmente com a crase. Bons -editores de código tem o destaque de sintaxe (*highlight sintax*) onde -notavelmente as strings ficam de cor diferente (bem como números, -keywords, comentários, etc), mas quando você envia por email ou imprime, -nem sempre as cores acompanham o código. A própria seção Exemplos da -documentação do R, em pdf ou html, é uma prova disso pois o código vai -preto. - -Use as aspas simples quando não puder usar as duplas. Esse é o caso -quando se constroà algumas expressões regulares. - -## Chaves ## - -Ao contrário do que se imagina, existem muitos [estilos de emprego de -chaves]. No R, usamos o K&R no qual a chave que abre é o último -character da linha precedida de espaço e a que fecha fica em linha -exclusiva e indentada conforme o código. - -No R usamos chaves nas instruções de *if*, *for*, *while*, *repeat* e -*function* e nas funções *with*, *switch* e *replicate*, por exemplo. - -```r -pitagoras <- function(a, b) { - h <- sqrt(a^2 + b^2) -} - -if (object.size(cars) > 1000) { - print("Objeto maior que 1 kb") -} else { - print("Objeto não maior que 1 kb") -} - -x <- cars -while (object.size(x) > 1000) { - x <- x[-1, ] - print(object.size(x)) -} -``` - -As chaves podem ser omitidas quando o corpo for de uma linha apenas. Por -outro lado, não recomendamos isso pois a presença das chaves realça a -hierarquia e erros provocados por quebra acidental de linhas são -evitados. Além disso, os editores se baseiam nas chaves para -corretamento indentar o código. - -## Colchetes ## - -Os colchetes são usados para fazer seleção em objetos. Para objetos com -mais de uma dimensão, como matrizes, *data frames* e *arrays*, usa-se a -regra das vÃrgulas dentro de uma função: deixe espaço após as -vÃrgulas. Também recomenda-se separa vÃrgulas por um espaço. - -```{r, eval=FALSE} -# Bom. -HairEyeColor["Black", , ] -HairEyeColor[, c("Blue", "Green"), ] -HairEyeColor[, , -1] - -# Ruim. -HairEyeColor["Black",,] -HairEyeColor[,c("Blue","Green"),] -HairEyeColor[,,-1] -``` - -## Parênteses ## - -No R, não se coloca espaço entre os parenteses e seu conteúdo. Existe -espaço ao redor do par de parênteses nas instruções de *if*, *for* e -*while*. - -```r -# Bom. -if (x %% 2 == 0) { - print("x é par.") -} - -# Ruim. -if( x %% 2 == 0 ){ - print( "x é par." ) -} -``` - -## Ponto e vÃrgula ## - -Ponto e vÃrgula no R serve para separar instruções na mesma linha, -funcionando como uma quebra visual de linha. No entanto, não se -recomenda o seu uso. - -```r -# Bom. -library(car) -library(gdata) -library(lattice) - -# Ruim. -library(car); library(gdata); library(lattice) -``` - -## Documentação embutida de funções ## - -Uma prática muito valorizada é documentar as funções que você cria. A -documentação serve de lembrete para você no futuro e é instrução para as -pessoas que usam o seu código. Abaixo a função *baskara* foi documentada -de duas formas diferentes. A primeira é uma forma livre enquanto que a -segunda usa as *tags* do [`roxygen2`]. Se você escreve uma função e tem -intenção de incluÃ-la em um pacote, o segundo padrão é mais -interessante. - -Perceba que esse exemplo é bem minimalista pois apenas documenta os -*inputs* e o *output* da função. Na impede de detalhes serem -adicionados. - -```r -# Função documentada de forma livre. -baskara <- function(a, b, c) { - # a,b,c: (numeric) coeficientes da equação de segundo grau - # a + b * x + c * x^2. - # retorna: (numeric) vetor com as raÃzes. - r <- (-b + c(-1, 1) * sqrt(b^2 - 4 * a * c))/(2 * a) - return(r) -} - -# Documentação com tags do roxygen2. -baskara <- function(a, b, c) { - #' @param a,b,c (numeric) coeficientes da equação de segundo grau - #' \eqn{a + b * x + c * x^2}. - #' @return (numeric) vetor com as raÃzes. - r <- (-b + c(-1, 1) * sqrt(b^2 - 4 * a * c))/(2 * a) - return(r) -} -``` - -## Carregando pacotes ## - -É comum se ver duas formas de carregar pacote: com `library()` e com -`require()`. Embora o segundo, por ser um verbo, faça mais sentido, -pacotes em scripts devem ser carregados com `library`. A diferença, como -explica [Yihui Xie], é que `require()` tenta carregar um pacote e -retorna *FALSE* se não conseguir enquanto que `library()` retorna -*error* nesse caso. - -<!--------------------------------------------- --> - -[ESS]: http://ess.r-project.org/Manual/ess.html -[RStudio]: https://www.rstudio.com/ -[Emacs]: https://www.gnu.org/software/emacs/ -[mcglm]: https://github.com/wbonat/mcglm -[car]: http://www.rdocumentation.org/packages/car -[devtools]: http://www.rdocumentation.org/packages/devtools -[estilos de emprego de chaves]: https://en.wikipedia.org/wiki/Indent_style -[Yihui Xie]: http://yihui.name/en/2014/07/library-vs-require/ -[Hadley Wickham]: http://hadley.nz/ -[John Fox]: http://socserv.mcmaster.ca/jfox/ -[`roxygen2`]: https://cran.r-project.org/web/packages/roxygen2/roxygen2.pdf diff --git a/data-raw/PimentelEg5.2 b/data-raw/PimentelEg5.2.txt similarity index 100% rename from data-raw/PimentelEg5.2 rename to data-raw/PimentelEg5.2.txt diff --git a/man/PimentelEg5.2.Rd b/man/PimentelEg5.2.Rd index 71dfd501e4ec6ff2d91c29fe98aab5967a90fa92..7f075cbc8a55215d9d2a0937b7bd1368e990665c 100644 --- a/man/PimentelEg5.2.Rd +++ b/man/PimentelEg5.2.Rd @@ -13,13 +13,11 @@ \item{\code{variedade}}{Fator de 8 nÃveis qualitativos que são as variedades de batatinha.} -\item{producao}{Produção de batatinha, em ton ha\eqn{^{-1}}, nas - unidades experimentais.} +\item{producao}{Produção de batatinha, em ton ha\eqn{^{-1}}.} }} \source{ -Pimentel-Gomes, F. (2009). Curso de EstatÃstitica - Experimental (15th ed.). Piracicaba, SP: FEALQ. (Exemplo 5.2) +PIMENTEL-GOMES (2009), Exemplo 5.2, pág. ??. } \description{ Experimento de competição de variedades de batatinha @@ -31,11 +29,16 @@ Experimento de competição de variedades de batatinha library(lattice) data(PimentelEg5.2) +str(PimentelEg5.2) -xyplot(producao ~ variedade, groups = bloco, data = PimentelEg5.2, - type = "b", - ylab=expression(Produção~(t~ha^{-1})), - xlab="Variedades de batatinha") +xtabs(~variedade + bloco, data = PimentelEg5.2) + +xyplot(producao ~ variedade, + groups = bloco, + data = PimentelEg5.2, + type = "o", + ylab = expression(Produção ~ (t ~ ha^{-1})), + xlab = "Variedades de batatinha") } \keyword{DBC} diff --git a/man/labestData.Rd b/man/labestData.Rd index 24932f76be1612880326d9307b30336969655914..8a8c53af520513d49f2faa67bf573918ceb4ae96 100644 --- a/man/labestData.Rd +++ b/man/labestData.Rd @@ -1,4 +1,4 @@ -% Generated by roxygen2 (4.1.1): do not edit by hand +% Generated by roxygen2: do not edit by hand % Please edit documentation in R/labestData.R \docType{package} \name{labestData} diff --git a/plano.md b/plano.md deleted file mode 100644 index 3181137b19ad69ddd86864c50aaed5b97ba1bacf..0000000000000000000000000000000000000000 --- a/plano.md +++ /dev/null @@ -1,619 +0,0 @@ -Painel de atividades do labestData -================================== - -**PET EstatÃstica UFPR** - <pet.estatistica.ufpr@gmail.com> - -- [Painel de realização](#painel-de-realizacao) -- [Planejamento semanal](#planejamento-semanal) -- [Lista de datasets](#lista-de-datasets) - -Este painel tem por objetivo documentar as atividades semanalmente -planejadas para cada integrante bem como suas realizações conforme fluxo -de trabalho adotado para o projeto **labestData**. - -Painel de realização --------------------- - -Na tabela abaixo são apresentados os *status* de realização das -atividades propostas para cada semana e integrante. Cada coluna da -tabela, com exceção da que apresenta os integrantes e os "mergeadores", -mostra o *status* e o respectivo MR (*Merge Request*) solicitado para -incorporar a realização das atividades propostas no ramo `devel` do -projeto. Para facilitar a visualização o *emoji* :white\_check\_mark:, -representa que o trabalho foi REALIZADO e :x: o NÃO REALIZADO. - -<table style="width:335%;"> -<colgroup> -<col width="33%" /> -<col width="15%" /> -<col width="40%" /> -<col width="40%" /> -<col width="40%" /> -<col width="40%" /> -<col width="40%" /> -<col width="40%" /> -<col width="11%" /> -<col width="11%" /> -<col width="11%" /> -<col width="11%" /> -</colgroup> -<thead> -<tr class="header"> -<th align="left">Contribuidor</th> -<th align="left">Mergeador</th> -<th align="center">1º S</th> -<th align="center">2º S</th> -<th align="center">3º S</th> -<th align="center">4º S</th> -<th align="center">5º S</th> -<th align="center">6º S</th> -<th align="center">7º S</th> -<th align="center">8º S</th> -<th align="center">9º S</th> -<th align="center">10º S</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td align="left">Alcides C. Neto</td> -<td align="left">Eduardo</td> -<td align="center">:white_check_mark: / MR!12</td> -<td align="center">:white_check_mark: / MR!13</td> -<td align="center">:white_check_mark: / MR!25</td> -<td align="center">:x: / -</td> -<td align="center">:white_check_mark: / MR!39</td> -<td align="center">:white_check_mark: / MR!49</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Altamiro A. Basiewics</td> -<td align="left">Walmes</td> -<td align="center">:white_check_mark: / MR!8</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Ângela L. C. Legey</td> -<td align="left">Cesar</td> -<td align="center">:white_check_mark: / MR!2</td> -<td align="center">:white_check_mark: / MR!15</td> -<td align="center">:white_check_mark: / MR!23</td> -<td align="center">:white_check_mark: / MR!30</td> -<td align="center">:white_check_mark: / MR!37</td> -<td align="center">:white_check_mark: / MR!44</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Bruna D. Wundervald</td> -<td align="left">Walmes</td> -<td align="center">:white_check_mark: / MR!10</td> -<td align="center">:white_check_mark: / MR!11</td> -<td align="center">:white_check_mark: / MR!17</td> -<td align="center">:white_check_mark: / MR!32</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Bruno Geronymo</td> -<td align="left">Walmes</td> -<td align="center">:white_check_mark: / MR!3</td> -<td align="center">:white_check_mark: / MR!22</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Daniel Ikenaga</td> -<td align="left">Eduardo</td> -<td align="center">:white_check_mark: / MR!9</td> -<td align="center">:white_check_mark: / MR!27</td> -<td align="center">:x: / -</td> -<td align="center">:white_check_mark: / MR!31</td> -<td align="center">:white_check_mark: / MR!38</td> -<td align="center">:white_check_mark: / MR!46</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Eduardo E. R. Junior</td> -<td align="left">Cesar</td> -<td align="center">:white_check_mark: / MR!7</td> -<td align="center">:white_check_mark: / MR!14</td> -<td align="center">:white_check_mark: / MR!21</td> -<td align="center">:white_check_mark: / MR!35</td> -<td align="center">:white_check_mark: / MR!41</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Gabriel S. Klostermann</td> -<td align="left">Cesar</td> -<td align="center">:white_check_mark: / MR!5</td> -<td align="center">:white_check_mark: / MR!19</td> -<td align="center">:x: / MR!36</td> -<td align="center">:x: / MR!48</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Jhenifer C. Veloso</td> -<td align="left">Walmes</td> -<td align="center">:white_check_mark: / MR!4</td> -<td align="center">:white_check_mark: / MR!16</td> -<td align="center">:white_check_mark: / MR!26</td> -<td align="center">:white_check_mark: / MR!29</td> -<td align="center">:white_check_mark: / MR!40</td> -<td align="center">:white_check_mark: / MR!47</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Mônica L. H. Oliveira</td> -<td align="left">Walmes</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">:x: / -</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Paula A. Z. Dimas</td> -<td align="left">Cesar</td> -<td align="center">:white_check_mark: / MR!6</td> -<td align="center">:white_check_mark: / MR!20</td> -<td align="center">:white_check_mark: / MR!24</td> -<td align="center">:white_check_mark: / MR!33</td> -<td align="center">:x: / -</td> -<td align="center">:x: / MR!45</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="even"> -<td align="left">Walmes M. Zeviani</td> -<td align="left">Eduardo</td> -<td align="center">:white_check_mark: / MR!1</td> -<td align="center">:white_check_mark: / MR!18</td> -<td align="center">:white_check_mark: / MR!28</td> -<td align="center">:white_check_mark: / MR!34</td> -<td align="center">:white_check_mark: / MR!41</td> -<td align="center">:white_check_mark: / MR!50</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -<tr class="odd"> -<td align="left">Cesar A. Taconeli</td> -<td align="left">Walmes</td> -<td align="center">-</td> -<td align="center">-</td> -<td align="center">-</td> -<td align="center">-</td> -<td align="center">-</td> -<td align="center">-</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -<td align="center">. / .</td> -</tr> -</tbody> -</table> - -[Retornar à tabela de conteúdo](#painel-de-atividades-do-labestdata) - -Planejamento semanal --------------------- - -Todas as terças-feiras o grupo desenvolvedor do pacote descreve suas -propostas de atividade para a semana vigente. Abaixo temos as atividades -de cada integrante descritas para a semana do perÃodo respectivamente -indicado: - -<!--------------------------------------------- --> -<!-- Para atualização descomente a linha da semana vigente, copie a lista de --> -<!-- contribuidores colocada na semana e descreve as respectivamente --> -<!-- atividades. As atividades seguem a ordem da data mais recente para a --> -<!-- mais antiga. --> -<!--------------------------------------------- --> -<!-- * **Semana 10 - (03/05 - 10/05)** --> -<!-- + **Alcides C. Neto** --> -<!-- + **Altamiro A. Basiewics** --> -<!-- + **Ângela L. C. Legey** --> -<!-- + **Bruna D. Wundervald** --> -<!-- + **Bruno Geronymo** --> -<!-- + **Daniel Ikenaga** --> -<!-- + **Eduardo E. R. Junior** --> -<!-- + **Gabriel S. Klostermann** --> -<!-- + **Jhenifer C. Veloso** --> -<!-- + **Mônica L. H. De Oliveira** --> -<!-- + **Paula A. Z. Dimas** --> -<!-- + **Walmes M. Zeviani** --> -<!-- + **Cesar A. Taconeli** --> -<!-- * **Semana 9 - (26/04 - 03/05)** --> -<!-- * **Semana 8 - (19/04 - 26/04)** --> -- **Semana 7 - (12/04 - 19/04)** - - **Alcides C. Neto**: Listar as tabelas e incluir, no GitLab as - *issues* do livro Planejamento e Analise Estatistica de - Experimentos Agronomicos - Decio Barbin, junto ao Walmes. - - **Altamiro A. Basiewics**: **Concluir as atividades das CINCO - semanas anteriores**; e concluir a *issue* \#91 (3 tabelas) - - **Ângela L. C. Legey**: Concluir a *issue* \#73 (4 tabelas) - - **Bruna D. Wundervald**: **Concluir as atividades das 2 semanas - anteriores**; e incluir mais 1 tabela ao pacote. - - **Bruno Geronymo**: **Concluir as atividades das QUATRO semanas - anteriores**; e concluir *issue* \#46 (5 tabelas). - - **Daniel Ikenaga**: Concluir *issue* \#82 (11 tabelas). - - **Eduardo E. R. Junior**: **Concluir as atividades da semana - anteriore**; atualizar o `plano.md`; Realizar as eventuais - correções de MR e incorporá-los ao ramo `devel`; e listar dados - e incluir as *issues* referentes a nova obra Modelos de - Regressão com apoio computacional - Gilberto A. Paula. - - **Gabriel S. Klostermann**: **Concluir as atividades das 2 - semanas anteriores**; e concluir *issue* \#54 (2 tabelas). - - **Jhenifer C. Veloso**: Concluir a *issue* \#65 (2 tabelas). - - **Mônica L. H. De Oliveira**: **Concluir as atividades das SEIS - semanas anteriores**; e listar as tabelas e incluir, no GitLab, - as *issues* referentes a uma nova obra a ser definida com o - tutor Walmes. - - **Paula A. Z. Dimas**: Concluir a *issue* \#77 (6 tabelas) - - **Walmes M. Zeviani**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`; Concluir a *issue* \#13 (2 - tabelas); e listar, junto ao colaborador Alcides, as tabelas do - livro Planejamento e Analise Estatistica de Experimentos - Agronomicos - Decio Barbin. - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`;e Revisar a *vignette* adicionada - pelo Walmes. - -Nesta semana alguns colaboradores relataram a dificuldade e instalar o -pacote `devtools`. Ressaltou-se que este pacote necessita de algumas -dependências do sistema operacional, ver \[página do RStudio\] com as -principais informações. Ainda Jhenifer informou que há três computadores -do PET devidamente equipados com os recursos para desenvolvimento do -projeto, portanto os colaboradores que necessitarem podem utizá-los. - -- **Semana 6 - (05/04 - 12/04)** - - **Alcides C. Neto**: Concluir a issue \#53 (2 tabelas) - - **Altamiro A. Basiewics**: **Concluir as atividades das QUATRO - semanas anteriores**; e concluir a issue \#90 (3 tabelas) - - **Ângela L. C. Legey**: Concluir a issue \#72 (4 tabelas) - - **Bruna D. Wundervald**: **Concluir as atividades da semana - anterior**; e incluir *issue* \#23 (nº de tabelas não informado - na *issue*). - - **Bruno Geronymo**: **Concluir as atividades das TRÊS semanas - anteriores**; e concluir *issue* \#45 (5 tabelas). - - **Daniel Ikenaga**: Concluir a *issue* \#81 (6 tabelas) - - **Eduardo E. R. Junior**: Atualizar o `plano.md`; Realizar as - eventuais correções de MR e incorporá-los ao ramo `devel`; - concluir a *issue* \#32 (3 tabelas); e incluir o esboço de uma - *vignette* sobre regressão linear simples. - - **Gabriel S. Klostermann**: **Concluir as atividades das 2 - semanas anteriores**; e concluir *issue* \#59 (2 tabelas). - - **Jhenifer C. Veloso**: Concluir *issue* \#64 (nº de tabelas não - informado na *issue*). - - **Mônica L. H. De Oliveira**: **Concluir as atividades das CINCO - semanas anteriores**; e adicionar os demais *datasets* para - concluir a obra - - **Paula A. Z. Dimas**: **Concluir o trabalho da semana anterior, - solicitando MR**; e concluir a *issue* \#76 (nº de tabelas não - informado na *issue*). - - **Walmes M. Zeviani**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`; Concluir a *issue* \#12 (); - adicionar outra *vignette* ao pacote; e criar o ramo `baby` e - atualizar o `CONTRIBUTING.md` com o fluxo sob o novo ramo - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`;e Revisar a *vignette* adicionada - pelo Walmes. - -Nesta semana Eduardo relatou sobre o tempo despendido na verificação do -pacote devido aos vários *datasets* e que esse tempo só tende a -aumentar. Com isso foi decidido pela criação de um ramo, sob o nome de -`baby` sem os *datasets* mas com os arquivos `DESCRIPTION`, `.gitignore` -e demais adicionais para funcionamento do pacote. - -- **Semana 5 - (29/03 - 05/04)** - - **Alcides C. Neto**: **Concluir as atividades da semana - anterior**; e adicionar mais as tabelas de dados para exercÃcio - do capÃtulo 7, não considerada nas *issues* (*issue* \#52) - - **Altamiro A. Basiewics**: **Concluir as atividades das TRÊS - semanas anteriores**; e adicionar as demais tabelas listadas na - *issue* \#74. - - **Angela L. C. Legey**; Concluir *issue* \#71 (4 tabelas). - - **Bruna D. Wundervald**: Concluir *issue* \#22 (tabelas não - informadas na *issue*). - - **Bruno Geronymo**: **Concluir as atividades das 2 semanas - anteriores**; e concluir *issue* \#44 (5 tabelas). - - **Daniel Ikenaga**: Concluir *issue* \#80 (7 tabelas). - - **Eduardo E. R. Junior**: Atualizar o `plano.md`; Realizar as - eventuais correções de MR e incorporá-los ao ramo `devel`; e - concluir o *issue* \#31 (2 tabelas). - - **Gabriel S. Klostermann**: **Concluir as atividades das 2 - semanas anteriores**; e concluir *issue* \#58 (2 tabelas). - - **Jhenifer C. Veloso**: Concluir o *issue* \#63 (2 tabelas) - - **Monica L. H. De Oliveira**: **Concluir as atividades das - QUATRO semanas anteriores (ao todo a inclusão de 7 tabelas foi - informada nas reuniões periódicas do projeto)**; e adicionar as - demais tabelas listadas nas *issues* \#42, \#67 e \#68. - - **Paula A. Z. Dimas**: Concluir *isuue* \#75 (tabelas não - informadas na *issue*). - - **Walmes M. Zeviani**: Concluir inclusão das tabelas - relacionadas na *issue* \#11 (3 tabelas); e adicionar a primeira - *vignette* do pacote. (documentar no *issue* sobre a inclusão da - *vignette*). - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`. - -Nesta semana o servidor LEG&PET que mantia, entre os demais serviços, o -RStudio Web (que é utilizado pela maioria dos colaboradores para -desenvolvimento do pacote) esteve indisponÃvel prejudicando as -atividades do projeto. Porém, em reunião, comentou-se que o RStudio Web -deve ser considerado como uma ferramenta auxiliar e que os integrantes -devem ter, em seus computadores de trabalho, os recursos para -desenvolvimento das atividades previstas. Para GIT recomendamos a -leitura do segundo capÃtulo da \[Apostila Git do PET\] que fala sobre a -instalação. Sobre o `devtools`, pacote R para desenvolvedores, há a -\[página do RStudio\] com as principais informações. - -- **Semana 4 - (22/03 - 29/03)** - - **Alcides C. Neto**: Concluir o *issue* \#52 (5 tabelas). - - **Altamiro A. Basiewics**: **Concluir as atividades das 2 - semanas anteriores**; e incluir 2 tabelas (realize as atividades - pendentes no ramo da atual semana, indique nas *issues* onde o - trabalho esta sendo feito). - - **Angela L. C. Legey**: Concluiu a obra MINGOTI!; Iniciará uma - nova obra sob o tema Controle EstatÃstico de Qualidade listando - suas tabelas e incluindo as respectivas *issues* no GitLab. - (*issue* \#70). - - **Bruna D. Wundervald**: Concluir seus dois próximos *issues*, - \#18 e \#19 (realizar as atividades listadas nestes em apenas - um ramo). - - **Bruno Geronymo**: **Concluir as atividades da semana - anterior**; e concluir *issue* \#43 (5 tabelas). - - **Daniel Ikenaga**: **Concluir as atividades da semana - anterior**; e incluir 4 tabelas. (*issue* \#79). - - **Eduardo E. R. Junior**: Realizar as eventuais correções de MR - e incorporá-los ao ramo `devel`; e concluir o *issue* \#30 - (2 tabelas). - - **Gabriel S. Klostermann**: **Concluir as atividades da semana - anterior**; e concluir *issue* \#60 (2 tabelas). - - **Jhenifer C. Veloso**: Concluir *issue* \#62 (5 tabelas). - - **Monica L. H. Oliveira**: **Concluir as atividades das TRÊS - semanas anteriores**; e incluir 1 tabela. - - **Paula A. Z. Dimas**: Concluiu a obra MINGOTI!; Iniciará uma - nova obra sob o tema Controle EstatÃstico de Qualidade listando - suas tabelas e incluindo as respectivas *issues* no GitLab. - (*issue* \#69). - - **Walmes M. Zeviani**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`; e concluir o *issue* \#10 - (4 tabelas). - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`. -- **Semana 3 - (15/03 - 22/03)** - - **Alcides C. Neto**: Concluir o *issue* \#51 (6 tabelas). - - **Altamiro A. Basiewics**: **Concluir as atividades da semana - anterior**; incluir 4 tabelas. - - **Angela L. C. Legey**: Concluir o *issue* \#26 (2 tabelas - contidas em anexos). - - **Bruna D. Wundervald**: Concluir os *issues* \#16 e \#17 - (realizá-los em um só ramo que deve ter sufixo 16 OU 17, - informar como comentário no *issue*). - - **Bruno Geronymo**: **Concluir as atividades da semana - anterior**; e concluir o *issue* \#41 (5 tabelas). - - **Daniel Ikenaga**: **Concluir as atividades da semana - anterior**; incluir mais 4 tabelas; e criar os demais *issues* - referentes à s tabelas de dados simulados e/ou de exercÃcios. - - **Eduardo E. R. Junior**: Realizar as eventuais correções de MR - e incorporá-los ao ramo `devel`; e concluir o *issue* \#29 - (3 tabelas). - - **Gabriel S. Klostermann**: Incluir 2 tabelas; e adicionar os - arquivos-fonte (.txt) de todas as tabelas da obra sob - sua responsabilidade. - - **Jhenifer C. Veloso**: Incluir as tabelas do capÃtulo 7 - (3 tabelas). - - **Monica L. H. Oliveira**: **Concluir as atividades das 2 - semanas anteriores**; e incluir 1 tabela. - - **Paula A. Z. Dimas**: Concluir *issues* \#36, \#37 e \#38, 3 - tabelas (realizá-los em um só ramo que deve ter sufixo 36 OU 37 - OU 38, informar como comentário no *issue*). - - **Walmes M. Zeviani**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`; concluir o *issue* \#8; e incluir - uma aplicação shiny para visualização dos *datasets*. - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`. -- **Semana 2 - (08/03 - 15/03)** - - **Alcides C. Neto**: Listar todas as tabelas presente na obra de - sua responsabilidade; criar os respectivos *issues* no GitLab; e - incluir todas as tabelas presentes no primeiro capÃtulo (+- 8). - - **Altamiro A. Basiewics**: Listar todas as tabelas presente na - obra de sua responsabilidade; criar os respectivos *issues* no - GitLab; e incluir 3 tabelas. - - **Angela L. C. Legey**: Listar todas as tabelas presente na obra - de sua responsabilidade; criar os respectivos *issues* no - GitLab; e incluir 5 tabelas. - - **Bruna D. Wundervald**: Incluir 5 tabelas. - - **Bruno Geronymo**: Listar todas as tabelas presente na obra de - sua responsabilidade; criar os respectivos *issues* no GitLab; e - incluir 3 tabelas. - - **Daniel Ikenaga**: Listar todas as tabelas presente na obra de - sua responsabilidade; criar os respectivos *issues* no GitLab; - incluir 2 ou 3 tabelas; e Checar o *build* de verificação do - pacote (para correção do erro gerado no seu ramo). - - **Eduardo E. R. Junior**: Realizar as eventuais correções de MR - e incorporá-los ao ramo `devel`; e concluir o *issue* \#28 - (3 tabelas). - - **Gabriel S. Klostermann**: Listar todas as tabelas presente na - obra de sua responsabilidade; criar os respectivos *issues* no - GitLab; e incluir 2 tabelas. - - **Jhenifer C. Veloso**: Incluir 5 tabelas. - - **Monica L. H. Oliveira**: **Concluir as atividades da semana - anterior**; Listar todas as tabelas presente na obra de sua - responsabilidade; criar os respectivos *issues* no GitLab; e - incluir 3 tabelas. - - **Paula A. Z. Dimas**: Listar todas as tabelas presente na obra - de sua responsabilidade; criar os respectivos *issues* no - GitLab; e incluir 2 tabelas. - - **Walmes M. Zeviani**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel`; e concluir o *issue* \#8. - - **Cesar A. Taconeli**: Realizar as eventuais correções de MR e - incorporá-los ao ramo `devel` -- **Semana 1 - (29/03 - 08/03)** - - Todos incluÃrem ao menos um *dataset* para se familiarizar com a - rotina do projeto - -[Retornar à tabela de conteúdo](#painel-de-atividades-do-labestdata) - -Lista de datasets ------------------ - -Até o momento, no ramo `devel` temos 123 conjuntos de dados já -devidamente incluÃdos, documentados e revisados. Abaixo a contagem de -*datasets* por obra. - -<table style="width:104%;"> -<colgroup> -<col width="16%" /> -<col width="29%" /> -<col width="33%" /> -<col width="25%" /> -</colgroup> -<thead> -<tr class="header"> -<th align="left">Livros</th> -<th align="center">Número de datasets</th> -<th align="center">Número de observações</th> -<th align="left">Tamanho em disco</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td align="left">Banzatto</td> -<td align="center">19</td> -<td align="center">2648</td> -<td align="left">48.273 Kb</td> -</tr> -<tr class="even"> -<td align="left">Charnet</td> -<td align="center">10</td> -<td align="center">1575</td> -<td align="left">16.602 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Costa</td> -<td align="center">6</td> -<td align="center">421</td> -<td align="left">11.938 Kb</td> -</tr> -<tr class="even"> -<td align="left">Demetrio</td> -<td align="center">18</td> -<td align="center">801</td> -<td align="left">22.172 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Dias</td> -<td align="center">2</td> -<td align="center">143</td> -<td align="left">0.641 Kb</td> -</tr> -<tr class="even"> -<td align="left">Dinorah</td> -<td align="center">1</td> -<td align="center">660</td> -<td align="left">6.445 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Epprecht</td> -<td align="center">8</td> -<td align="center">1120</td> -<td align="left">12.188 Kb</td> -</tr> -<tr class="even"> -<td align="left">Ferreira</td> -<td align="center">7</td> -<td align="center">533</td> -<td align="left">11.109 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Manly</td> -<td align="center">3</td> -<td align="center">673</td> -<td align="left">11.773 Kb</td> -</tr> -<tr class="even"> -<td align="left">Mingoti</td> -<td align="center">10</td> -<td align="center">2750</td> -<td align="left">29.031 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Pimentel</td> -<td align="center">7</td> -<td align="center">422</td> -<td align="left">14.969 Kb</td> -</tr> -<tr class="even"> -<td align="left">Ramalho</td> -<td align="center">13</td> -<td align="center">5274</td> -<td align="left">47.039 Kb</td> -</tr> -<tr class="odd"> -<td align="left">Ramos</td> -<td align="center">3</td> -<td align="center">114</td> -<td align="left">3.141 Kb</td> -</tr> -<tr class="even"> -<td align="left">Zimmermann</td> -<td align="center">16</td> -<td align="center">5107</td> -<td align="left">64.953 Kb</td> -</tr> -</tbody> -</table> - -[Retornar à tabela de conteúdo](#painel-de-atividades-do-labestdata) -\[Apostila Git do PET\]: -<https://gitlab.c3sl.ufpr.br/pet-estatistica/apostila-git/blob/devel/apostila_git.pdf> -\[página do RStudio\]: -<https://www.rstudio.com/products/rpackages/devtools/> diff --git a/vignettes/_output.yaml b/vignettes/_output.yaml new file mode 100644 index 0000000000000000000000000000000000000000..53b4884f85589657b49bc6b9397ef770c2b87e9b --- /dev/null +++ b/vignettes/_output.yaml @@ -0,0 +1,12 @@ +html_document: + fig_width: 6 + fig_height: 6 + toc: true + toc_dep: 3 + css: config/_style.css + fig_caption: yes + highlight: default + includes: + in_header: config/_MathJax.html + before_body: config/_before_body.html + after_body: config/_after_body.html diff --git a/vignettes/config/ABNT_UFPR_2011-Mendeley.csl b/vignettes/config/ABNT_UFPR_2011-Mendeley.csl new file mode 100644 index 0000000000000000000000000000000000000000..746a0cde45cef6fc6abc2c488bc8fd4e522f3eea --- /dev/null +++ b/vignettes/config/ABNT_UFPR_2011-Mendeley.csl @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="utf-8"?> +<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0"> + <info> + <title>ABNT (UFPR)</title> + <id>http://www.zotero.org/styles/ABNT</id> + <link href="http://www.zotero.org/styles/ABNT" rel="self"/> + <author> + <name>Iuri Gavronski</name> + <email>iuri at ufrgs dot br</email> + </author> + <contributor> + <name>Eduardo Bettoni</name> + <email>webtur @ ufpr dot br</email> + </contributor> + <category citation-format="author-date"/> + <category field="generic-base"/> + <updated>2010-11-15T12:42:52+00:00</updated> + <summary>The Brazilian standard style</summary> + </info> + <macro name="container-contributors"> + <choose> + <if type="chapter paper-conference" match="any"> + <text value="In:" suffix=" "/> + <names variable="editor translator" delimiter=", " suffix="; "> + <name initialize-with=". " delimiter="; "/> + <label form="short" prefix=" (" text-case="capitalize-first" suffix=".)" strip-periods="true"/> + </names> + </if> + </choose> + </macro> + <macro name="secondary-contributors"> + <choose> + <if type="chapter paper-conference" match="none"> + <names variable="editor translator" delimiter=", " prefix=" (" suffix=")"> + <name and="symbol" initialize-with=". " delimiter=", "/> + <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/> + </names> + </if> + </choose> + </macro> + <macro name="author"> + <names variable="author"> + <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always"> + <name-part name="family" text-case="uppercase"/> + <name-part name="given" text-case="uppercase"/> + </name> + <label form="short" prefix=" (" suffix=".)" text-case="uppercase" strip-periods="true"/> + <substitute> + <names variable="editor"/> + <names variable="translator"/> + <text macro="title"/> + </substitute> + </names> + </macro> + <macro name="author-short"> + <names variable="author"> + <name form="short" name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always"> + <name-part name="family" text-case="uppercase"/> + <name-part name="given" text-case="uppercase"/> + </name> + <substitute> + <names variable="editor"/> + <names variable="translator"/> + <choose> + <if type="bill book graphic legal_case motion_picture report song" match="any"> + <text variable="title" form="short" font-weight="bold"/> + </if> + <else> + <text variable="title" form="short" quotes="true"/> + </else> + </choose> + </substitute> + </names> + </macro> + <macro name="access"> + <text variable="URL" prefix="DisponÃvel em: <" suffix=">. "/> + <date variable="accessed" prefix="Acesso em: "> + <date-part name="day" suffix="/"/> + <date-part name="month" form="numeric" suffix="/"/> + <date-part name="year"/> + </date> + </macro> + <macro name="title"> + <choose> + <if type="bill book graphic legal_case motion_picture report song thesis" match="any"> + <text variable="title" font-weight="bold"/> + </if> + <else> + <text variable="title" suffix=". "/> + </else> + </choose> + </macro> + <macro name="container-title"> + <choose> + <if type="paper-conference" match="any"> + <text variable="container-title" suffix=". "/> + <text value=" Anais... " font-weight="bold"/> + </if> + <else> + <text variable="container-title" font-weight="bold"/> + </else> + </choose> + </macro> + <macro name="publisher"> + <text variable="genre" suffix=", "/> + <group delimiter=": "> + <text variable="publisher-place"/> + <text variable="publisher"/> + </group> + </macro> + <macro name="event"> + <text variable="event"/> + <text variable="event-place" prefix=", "/> + </macro> + <macro name="issued"> + <group prefix=" " suffix="." text-case="lowercase"> + <choose> + <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none"> + <date variable="issued"> + <date-part prefix=" " suffix="." name="day"/> + <date-part prefix=" " suffix=". " name="month" form="short" strip-periods="true"/> + </date> + </if> + </choose> + <date variable="issued"> + <date-part name="year"/> + </date> + </group> + </macro> + <macro name="issued-year"> + <date variable="issued"> + <date-part name="year"/> + </date> + </macro> + <macro name="edition"> + <choose> + <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any"> + <choose> + <if is-numeric="edition"> + <group delimiter=" "> + <number variable="edition" form="ordinal"/> + <text term="edition" form="short" suffix="." strip-periods="true"/> + </group> + </if> + <else> + <text variable="edition" suffix=" ed."/> + </else> + </choose> + </if> + </choose> + </macro> + <macro name="locators"> + <choose> + <if type="article-journal article-magazine article-newspaper" match="any"> + <group prefix=", " delimiter=", "> + <group> + <text variable="volume" prefix="v. "/> + <text variable="issue" prefix=", n. " suffix=""/> + </group> + <text variable="page" prefix="p. "/> + </group> + </if> + <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any"> + <group prefix=". " suffix="" delimiter=", "> + <text macro="edition"/> + <group> + <text variable="volume" prefix="v. "/> + </group> + <group> + <text variable="page" prefix="p."/> + </group> + </group> + </else-if> + </choose> + </macro> + <macro name="citation-locator"> + <group> + <label variable="locator" form="short"/> + <text variable="locator" prefix=" "/> + </group> + </macro> + <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year"> + <sort> + <key variable="issued"/> + <key macro="author"/> + </sort> + <layout prefix="(" suffix=")" delimiter="; "> + <group delimiter=", "> + <text suffix="" macro="author-short"/> + <text macro="issued-year"/> + <text macro="citation-locator"/> + </group> + </layout> + </citation> + <bibliography hanging-indent="false" et-al-min="6" et-al-use-first="3" entry-spacing="0"> + <sort> + <key macro="author"/> + <key variable="issued"/> + </sort> + <layout suffix="."> + <choose> + <if type="bill book graphic legal_case motion_picture report song" match="any"> + <group> + <text macro="author" suffix=". "/> + <text macro="title" suffix=". "/> + <text macro="edition" suffix=". "/> + <text macro="publisher" suffix=", "/> + <text macro="issued-year"/> + </group> + </if> + <else-if type="webpage"> + <group> + <text macro="author" suffix="."/> + <text macro="title" prefix=" "/> + <text macro="access"/> + </group> + </else-if> + <else> + <text macro="author" suffix="."/> + <text macro="title" prefix=" "/> + <text macro="container-contributors"/> + <text macro="secondary-contributors"/> + <text macro="container-title"/> + <text variable="collection-title" prefix=", " suffix="."/> + <text macro="locators"/> + <text macro="issued" prefix=","/> + <group delimiter=". " prefix=". "> + <text macro="publisher"/> + <text macro="access"/> + </group> + </else> + </choose> + </layout> + </bibliography> +</style> diff --git a/vignettes/config/_MathJax.html b/vignettes/config/_MathJax.html new file mode 100644 index 0000000000000000000000000000000000000000..e7e537aea476322edbc18e67913fbec599b26b1a --- /dev/null +++ b/vignettes/config/_MathJax.html @@ -0,0 +1,9 @@ +<script type="text/x-mathjax-config"> + MathJax.Hub.Config({ + "HTML-CSS": { + scale: 85, + /* preferredFont: "STIX" /* padrão do MathJax */ + availableFonts: ["TeX"], /* */ + } + }); +</script> diff --git a/vignettes/config/_after_body.html b/vignettes/config/_after_body.html new file mode 100644 index 0000000000000000000000000000000000000000..09f93f49b47dbc33681ad8e5d269a49e6eaacf09 --- /dev/null +++ b/vignettes/config/_after_body.html @@ -0,0 +1,30 @@ +<style type="text/css"> +hr.footer { + border-top: 1px solid black; + margin-top: 20px; + margin-bottom: 2px; +} +table.footer { + margin-bottom: 10px; +} +</style> + +<hr class="footer"/> +<center> + <table class="footer" width="100%"> + <tr> + <td> + <a href="http://www.pet.est.ufpr.br/"> + PET EstatÃstica UFPR + </a> + </td> + </tr> + <tr> + <td> + <em> + pet.estatistica.ufpr@gmail.com + </em> + </td> + </tr> + </table> +</center> diff --git a/vignettes/config/_before_body.html b/vignettes/config/_before_body.html new file mode 100644 index 0000000000000000000000000000000000000000..280a71dca4969ee0943a3f1f80a1912de3874499 --- /dev/null +++ b/vignettes/config/_before_body.html @@ -0,0 +1,29 @@ +<style type="text/css"> +div.header { + margin-top: 20px; + border-bottom: 1px solid #BCBCBC; +} +table.header { + margin-top: 10px; +} +</style> + +<table class="header" width="100%" align="center"> + <tr> + <td align="left" valign="bottom" width="90px"> + <img src="img/labestData.png" width="100%" /> + </td> + <td align="left" valign="top"> + <div class="header"> + <h4 style="font-size: 20px; margin: 10px"> + <em>labestData</em> - Biblioteca de Dados para Aprendizado de EstatÃstica + </h4> + <h5 style="margin: 0px 0px 10px 10px"> + <a href="https://github.com/pet-estatistica/labestData"> + <code>github.com/pet-estatistica/labestData</code> + </a> + </h5> + </div> + </td> + </tr> +</table> diff --git a/vignettes/config/_setup.R b/vignettes/config/_setup.R new file mode 100644 index 0000000000000000000000000000000000000000..105acf497b8a21252aefe4044e79226e0d40f711 --- /dev/null +++ b/vignettes/config/_setup.R @@ -0,0 +1,29 @@ +library(knitr) +opts_chunk$set(cache = FALSE, + tidy = FALSE, + fig.width = 6, + fig.height = 6, + fig.align = "center", + dpi = 100, + dev = "png", + dev.args = list(family = "Palatino")) +options(width = 68) + +library(latticeExtra) +mycol <- c("#E41A1C", "#377EB8", "#4DAF4A", + "#984EA3", "#FF7F00", "#FFFF33") + +# Trellis graphical style. +ps <- list(box.rectangle = list(col = 1, fill = c("gray70")), + box.umbrella = list(col = 1, lty = 1), + dot.symbol = list(col = 1, pch = 19), + dot.line = list(col = "gray50", lty = 3), + plot.symbol = list(col = 1, cex = 0.8), + plot.line = list(col = 1), + plot.polygon = list(col = "gray95"), + superpose.line = list(col = mycol, lty = 1), + superpose.symbol = list(col = mycol, pch = 1), + superpose.polygon = list(col = mycol), + strip.background = list(col = c("gray80", "gray50"))) +trellis.par.set(ps) +# show.settings() diff --git a/vignettes/config/_style.css b/vignettes/config/_style.css new file mode 100644 index 0000000000000000000000000000000000000000..6d51c09b2de55a140967c26ce136c5a1a7efab99 --- /dev/null +++ b/vignettes/config/_style.css @@ -0,0 +1,67 @@ +body, td, caption { + font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif; + background-color: white; + font-size: 16px; + text-align: justify; +} + +body { + width: 800px; + margin: auto; +} + +tt, code, pre { + font-family: "Inconsolata", "Andale Mono", monospace; +} + +pre code { + font-size: 14px; +} + +/* R input */ +pre, code { + border-radius: 3px; + background-color: #EDEDED; + color: #333; +} + +/* R output */ +pre:not([class]) code { + background-color: #D4D4D4; +} + +pre:not([class]), code { + background-color: #D4D4D4; +} + +img { + max-width: 100% !important; + display: block; + margin: auto; +} + +#header { + text-align: center; + margin: 20px 0px 20px 0px; +} + +#TOC { + /* border-bottom: 1px solid red; */ + margin: 0px 0px 20px 0px; +} + +#TOC li { + list-style: outside none url; +} + +blockquote { + font-size: 17.5px; + width: 90%; + border-left: none; + margin: auto; +} + +blockquote > blockquote > p { + color: "red"; + text-align: right; +} diff --git a/vignettes/config/bibliography.bib b/vignettes/config/bibliography.bib new file mode 100644 index 0000000000000000000000000000000000000000..0cc52bda50b70dbdeaa77c0942606ee9b94dce93 --- /dev/null +++ b/vignettes/config/bibliography.bib @@ -0,0 +1,158 @@ +% This file was created with JabRef 2.10b2. +% Encoding: UTF-8 + +@Book{banzatto, + Title = {Experimentação AgrÃcola}, + Author = {Banzatto, D. A. and Kronka, S. D.}, + Publisher = {Funep}, + Year = {2013}, + Address = {Jaboticabal, SP}, + Edition = {4}, +} + +@Book{barbin, + Title = {Planejamento e Análise EstatÃstica de Experimentos Agronômicos}, + Author = {Barbin, D.}, + Publisher = {Mecenas}, + Year = {2013}, + Address = {Londrina, PR}, + Edition = {2}, +} + +@Book{dias, + Title = {Biometria Experimental}, + Author = {Barros, W. S. and Dias, L. A. S.}, + Publisher = {Editora UFV}, + Year = {2009}, + Address = {Viçosa, MG}, +} + +@Book{charnet, + Title = {Análise de Modelos de Regressão Linear com Aplicações}, + Author = {Charnet, R. and de Luna Freire, C.A. and Charnet, E.M.R. and Bonvino, H.}, + Publisher = {Editora Unicamp}, + Year = {2008}, + Address = {Campinas, SP}, + Edition = {2}, +} + +@Book{epprecht, + Title = {Controle EstatÃstico de Qualidade}, + Author = {Costa, A. F. B. and Epprecht, E. K. and Carpinetti, L.}, + Publisher = {Atlas}, + Year = {2010}, + Address = {São Paulo, SP}, + Edition = {2}, +} + +@Misc{costa, + Title = {Técnicas Experimentais aplicadas à s Ciências Agrárias}, + Author = {Costa, J. R.}, + HowPublished = {Seropédica, RJ: Embrapa Agrobiologia (Documentos 163)}, + Year = {2003}, + Url = {http://www.ica.ufmg.br/mestrado_doutorado/images/stories/arquivos_mestrado/experimentao%20agrcola.pdf} +} + +@Misc{demetrio, + Title = {Modelos de Regressão}, + Author = {Demétrio, C. G. B. and Zocchi, S. S.}, + HowPublished = {Piracicaba, SP. ESALQ (apostila)}, + Year = {2011}, + Url = {http://www.lce.esalq.usp.br/arquivos/aulas/2011/LCE5801/Apostila.pdf} +} + +@Misc{faria, + Title = {Notas de aulas expandidas: Metodologia e EstatÃstica Experimental}, + Author = {Faria, J. C.}, + HowPublished = {Ilhéus, BA. UESC (apostila)}, + Year = {2009}, + Url = {http://nbcgib.uesc.br/lec/download/faria/apostilas/CET076_12ed_1pf.pdf} +} + +@Book{ferreira, + Title = {EstatÃstica Multivariada}, + Author = {Ferreira, D. F.}, + Publisher = {Editora UFLA}, + Year = {2011}, + Address = {Lavras, MG}, + Edition = {2}, +} + +@Book{manly, + Title = {Métodos EstatÃsticos Multivariados: uma introdução}, + Author = {Manly, B. F.}, + Publisher = {Bookman}, + Year = {2005}, + Address = {Porto Alegre}, +} + +@Book{mingoti, + Title = {Análise de dados através de métodos de estatÃstica multivariada: uma abordagem aplicada}, + Author = {Mingoti, S. A.}, + Publisher = {Editora UFMG}, + Year = {2005}, + Address = {Belo Horizonte, MG}, +} + +@Misc{paula, + Title = {Modelos de regressão: com apoio computacional}, + Author = {Paula, G. A.}, + HowPublished = {São Paulo, SP. IME-USP (apostila)}, + Year = {2004}, + Url = {https://www.ime.usp.br/~giapaula/texto_2013.pdf} +} + +@Book{pimentel, + Title = {Curso de EstatÃstica Experimental}, + Author = {{Pimentel-Gomes}, F.}, + Publisher = {FEALQ}, + Year = {2009}, + Address = {Piracicaba, SP}, + Edition = {15}, + +} + +@Book{ramalho, + Title = {Experimentação em Genética e Melhoramento de Plantas}, + Author = {Ramalho, M. A. P. and Ferreira, D. F. and Oliveira, A. C.}, + Publisher = {Editora UFLA}, + Year = {2005}, + Address = {Lavras, MG}, + Edition = {2}, +} + +@Book{ramos, + Title = {Controle EstatÃstico da Qualidade}, + Author = {Ramos, E. M. L. S. and Almeida, S. S, and Araújo, A. R.}, + Publisher = {Bookman}, + Year = {2013}, + Address = {Porto Alegre, RS}, + Edition = {1}, +} + +@Book{storck, + Title = {Experimentação Vegetal}, + Author = {Storck, L. and Garcia, B. C. and Lopes, S. J. and Estefanel, V.}, + Publisher = {Editora UFSM}, + Year = {2011}, + Address = {Santa Maria, RS}, + Edition = {3}, +} + +@Book{vieira, + Title = {EstatÃstica Experimental}, + Author = {Vieira, S.}, + Publisher = {Atlas}, + Year = {1999}, + Address = {São Paulo, SP}, + Edition = {2}, +} + +@Book{zimmermann, + Title = {EstatÃstica Aplicada à Pesquisa AgrÃcola}, + Author = {Zimmermann, F. J.}, + Publisher = {Embrapa Arroz e Feijão}, + Year = {2004}, + Address = {Santo Antônio de Goiás, GO}, + Edition = {1}, +} diff --git a/vignettes/guia-contrib.Rmd b/vignettes/guia-contrib.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..c0b8d7ff758d3ed177df78850fa11dd7d4ff95d3 --- /dev/null +++ b/vignettes/guia-contrib.Rmd @@ -0,0 +1,423 @@ +--- +title: "Guia de Contribuição e Estilo" +author: "PET EstatÃstica UFPR" +bibliography: config/bibliography.bib +csl: config/ABNT_UFPR_2011-Mendeley.csl +vignette: > + %\VignetteIndexEntry{Guia de Contribuição e Estilo} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r setup, include=FALSE} +source("config/_setup.R") +``` + +O Guia de Contribuição e Estilo serve para orientar a forma de trabalhar +que seja eficiente, padronizada, coordenada e segura e produza conteúdo +de qualidade. Este guia contém orientações de como escrever o código e +escrever a documentação. + +## Estilo de Escrita de Código R + +Os números circulados de vermelhos nas imagens abaixo indicam diferenças +entre os padrões de escrita de código R. Os dois fragmentos de código +fazem a mesma coisa, funcionam igualmente, porém o primeiro é o padrão +adotado no labestData. + + + +1. Use o operador `<-` e não o operador `=` para atribuir conteúdo aos + objetos. Deixe espaço ao redor do operador `<-`. Isso resolve a + ambiguidade: `x<-2 ` é `x < -2` ou `x <- 2`? +2. Use espaço ao redor dos operadores matemáticos: exceto `^` e `/`, + todos os demais tem espaços ao redor: `+ - * %% %/% %*%`. Um caso + particular é o `-` que não tem espaço quando é o negativo (`-5 * 2`) + mas tem quando é o menos (`2 - 5`). +3. Use espaço ao redor dos operadores lógicos: + `== != > >= < <= & && | || %in%`. + + + +1. Use espaço para separar o argumento do valor que ele recebe. +2. Sempre use espaço após a vÃrgula e nunca use antes dela. +3. A regra para a vÃrgula vale dentro de colchetes também. Duas vÃrgulas + não ficam coladas. +4. Use aspas duplas. Usuários experientes afirmam que a dupla é mais + visÃvel por ser um caractere mais cheio. Na linguagem R não existe + nenhuma diferença de função entre elas, para outras, como o Shell, + existe e deixa de ser uma questão estética mas funcional. +5. Em algumas linguagens de programação há quem goste do estilo *comma + first*. No entanto, além de não haver um argumento forte para, não é + esse o padrão adotado pelos programadores de R. Não use *comma + first*. + + + +1. Acostume-se a usar nomes curtos. A chance de erro de digitação com + nomes curtos é menor. Tente abreviações e siglas para definir os seus + objetos, evitando nomes que excedam 6 caracteres. O caso de nomes de + função em pacote é uma exceção, pois nomes curtos demais podem não + ser difÃcil de recordar ou de adivinhar o significado dele. Quando + houver necessidade de nome composto, pode ser usado `.` e o + `_`. Existe uma preferência para que nomes de funções em pacotes usem + o `_` porque o `.` é usado na construção de funções método. +2. Use endereços relativos porque isso deixa o código com + mais portabilidade. +3. Evite 1) espaço no nome de diretórios e arquivos, 2) evite caracteres + acentuados (não ASCII) e 3) evite letras maiúsculas para diminuir os + erros de digitação. No lugar dos espaços recomenda-se usar + *underline* ou traço. +4. Evite ultrapassar 72 caracteres no comprimento das linhas do + código. Isso deixa seu código mais vertical e legÃvel, não esconde + texto para monitores de pequena resolução, evita quebras de linhas + acidentais quando o texto é colado em processadores de texto (me + pergunto para que alguém faz isso[^1]) ou se e-mail. +5. Não abrevie o nome dos argumentos. Você pode até ganhar + microssegundos de tempo com isso, mas o seu código fica menos + portável (mais sujeito a erro e ambiguidade) além de ser menos + compreendido por um usuário não familiar com a linguagem ou com a + função que você está usando. +6. Nunca abrevie para `T` ou `F` os valores lógicos `TRUE` e `FALSE`. Os + últimos são palavras reservadas do sistema mas os primeiros são + apenas objetos, ou seja, nada impede de fazer `T <- 10` e isso seria + desastroso para que abrevia `TRUE` com `T`. +7. Evite definir objetos ou nomes das variáveis em `data.frames` com + maiúsculas. O R é *case sensitive* e as chances de erro de digitação + são maiores. +8. Evite usar `;` e faça quebra de linha para deixar o código mais + vertical. Ele é um operador que permite escrever duas instruções na + mesma linha mas isso faz crescer horizontalmente, pode ultrapassar as + margens. + + + +1. Nas construções como `function`, `if`, `for`, `while`, etc, deixe + espaço entre o parentese direito e chave esquerda. +2. O padrão de uso de chaves no R é o [K&R] 1TBS (*the one true brace + style*). Nesse padrão de chave, o construtor (`if`, `for`, `while`, + etc) antecede a chave que abre e chave que fecha fica sozinha na + linha (indentada com o construtor), a menos que esteja acompanhada de + um cláusula `else`, de outra chave ou parêntese. +3. Idem ao 1 e 2. +4. Deixe espaço entre o nome do construtor e o parêntese que abre. A + única exceção é para `function`. +5. Idem ao 4. +6. Evite deixar as construções como `function`, `if`, `for`, `while`, + sem as chaves mesmo que o corpo seja uma linha curta. As chaves + evitam que linhas adicionadas acidentalmente provoquem erros e + deixa seu código mais claro. +7. Use o `return` no final das suas funções porque isso marca melhor o + que a função retorna. Usuários não familiares agradecem. +8. A indentação padrão no R é com 4 espaços (e não com TAB). O RStudio, + por exemplo, vem com 2 espaços por padrão. Mude isso no + `Global Options > Code > Editing`. Os mais experientes dizem que 4 + espaços dá mais evidência da hierarquia do código. + + + +1. Definitivamente use `library` e não `require`. Apesar do último + parecer mais lógico por ser um verbo, `library` é que carrega um + pacote. Se o pacote não estiver presente, a `library` retorna um + **Error** (!) e a `require` retorna um `FALSE`. +2. O `~` é um operador como o `-`: tem espaço se existe um objeto que o + precede, caso contrário não tem. +3. Prefira notação cientÃfica nos gráficos. Uma grande vantagem do R é + permitir anotação matemática nos gráficos. Use sempre que possÃvel, + principalmente quando os gráficos vão para uma + monografia/disertação/tese ou artigo. + + + +1. Para seu próprio benefÃcio, comente o seu código. Os comentários vão + te guiar no futuro quando sua memória falhar. Encare o seus + comentários como um texto normal e siga as regras do idioma que + adotar usar: acentue, comece com maiúscula, termine com ponto. +2. Quando for o caso, separe o seu código em "seções temáticas". Use + algo para destacar isso, como uma linha horizontal. No Emacs é + bastante fácil fazer essas linhas horizontal como o mesmo + comprimento[^2]. +3. Deixe linhas em branco para separar o código. Não empilhe código que + não seja logicamente conectado pois os espaços funcionam como o + intervalo entre dois parágrafos de texto. +4. Use o mesmo número de caracteres para fazer comentários. Todos os + editores de R usam um sinal de `#`, que é mais barato. Só o Emacs que + usa dois sinais de comentários para o R, lisp e outras linguagens + porque no Emacs o número de sinais tem função para indentação. Mas + isso é customizável e recomenda-se que você mude para um. + +## Regras para Inclusão de Conjuntos de Dados + +### Regra para dar nomes aos conjuntos de dados + +Para o *labestData* conter diversas obras com rápida e precisa +identificação dos conjuntos de dados, foi necessário adotar uma regra +de nomeação. A regra é bem simples. O nome é composto por 3 partes: +`ObraIndNumer`. `Obra` é a referência a obra, `Ind` é o tipo de elemento +identificador e `Num` é o número do elemento identificador. São +exemplos da aplicação dessa regra + + * ZimmermannTb10.20: Obra @zimmermann, Tabela 10.20 (capÃtulo 10, + tabela 20). + * BanzattoQd8.4.3: Obra @banzatto, Quadro 8.4.3 (capÃtulo + 8, seção 4, tabela 3.) + * PaulaEx3.7.20: Obra @paula, ExercÃcio 3.7.20 (capÃtulo 3, seção 7, + exercÃcio 20). + * DemetrioEg7.7: Obra @demetrio, Exemplo 7.7 (capÃtulo 7, exemplo + 7). Para não confundir exemplo com exercÃcio, usou-se Eg do termo + em latin *exempli gratia*. + * MingotiAnA1: Obra @mingoti, Anexo A1. + * PimentelPg142: Obra @pimentel, Página 142. + +A tabela abaixo resume as siglas usadas para cada tipo de referência ao +conjunto de dados dentro da obra. + +| Referência | Abreviação | +|------------+------------| +| Tabela | Tb | +| Quadro | Qd | +| ExercÃcio | Ex | +| Exemplo | Eg | +| Apêndice | Ap | +| Anexo | An | +| Página | Pg | + +A prioridade na hora de atribuir a identificação é a seguinte: Tabela = +Quadro > Exemplo = ExercÃcio > Apêndice = Anexo > Página. Ou seja, se a +tabela 5 faz parte do exemplo 3 que está na página 122, o nome do +dataset terá sufixo Tb5. Note que uma página pode ter mais de uma +tabela, bem como mais de um exemplo. Além do mais, diferentes edições +podem preservar com mais facilidade a numeração das tabelas do que a +localização delas nas mesmas páginas. Sendo assim, um dataset só será +identificado como sufixo Ex ou Eg se não estiver em Tabela ou Quadro +numerado e só será identificado pela página se não houver outra +alternativa. + +Dados de arquivos pessoais que não foram usados em uma publicação +(artigo, trabalho de conclusão de curso, dissertação ou tese), poder ter +o nome do proprietário, do local de origem, ou outro identificador que +seja único e descritivo do conjunto de dados. + +### Regra para o nome das variáveis + +O nome das variáveis não deve conter acentos (ASCII pleno), não pode +iniciar com número e só admite o *underline* como não alfanumérico (mas +evite). As variáveis de nome composto e longo devem ser representadas +por siglas e as de nome simples mas longo, por abreviação. Veja a tabela +com exemplos de como dar nome para variáveis do conjunto de dados. + +| Variável | Nome da coluna | +|----------------------------+----------------| +| Dias | dias | +| Peso | peso | +| Idade | idade | +| Renda | renda | +| Escolaridade | escol | +| Cultivar | cult | +| Variedade | varied | +| Adubação | adub | +| Produtividade | prod | +| Temperatura | temp | +| Pressão sanguÃnea | ps | +| Matéria orgânica | mo | +| Teor de magnésio do solo | mg | +| Diâmetro à altura do peito | dap | +| Massa seca de parte aérea | mspa | + +### Tipo de valor das variáveis + +É fundamental que os objetos que armazenem as variáveis declarem o tipo +correto de valor. São 5 os tipos principais: + + * `numeric`: é o tipo de valor para variáveis contÃnuas. Normalmente + essas variáveis tem unidade de medida e números decimais (e.g. 1.85 + m, 78.5 kg). + * `integer`: é o tipo de valor para variáveis discretas (números + inteiros). Variáveis de contagem são desse tipo. São também as + variáveis que identificam a repetição ou amostra, normalmente + sequências de incremento 1 que começam em 1 ou 0. Quando variáveis + contÃnuas tiverem representação que não tenha casas decimais, elas + dever ser declaradas como `integer` para salvar espaço em disco e + tornar as contas mais rápidas. + * `factor`: é tipo de valor para variáveis categóricas. São rótulos + que classificam um conjunto de indivÃduos/observações com uma + variável qualitativa comum. Como exemplo, tem-se os blocos de um + experimento em delineamento de blocos casualizados, as observações + do mesmo bairro, os pacientes do mesmo sexo, as parcelas do mesmo + local ou extrato, etc. + * Os fatores devem ter o rótulo mais descritivo possÃvel, ou seja, + se os nÃveis são Kennebec, Huinkul e Buena Vista (variedades de + batatinha) não codifique como 1, 2 e 3. Também não abrevie + porque na forma abreviada a correspondência não é + imediata. Quando os nomes completos são usados, eles aparecem + nos gráficos e nas saÃdas, o que é bom. + * Variáveis como sexo (Masculino, Feminino) podem ser abreviadas + por M e F, sem prejuÃzo ao entendimento, pois a correspondência + é imediata (é fácil adivinhar que M e F representa masculino e + feminino). Da mesma forma, os nÃveis resistente e suscetÃvel + poder ser abreviados para R e S, e os Estados brasileiros podem + ser representados pelas suas siglas. + * Nos casos em que os fatores são representados por número + inteiros mas são categóricos (como é caso dos blocos do + experimento), deve-se usar `factor` ao invés de `integer` para a + variável, mesmo que os rótulos continuem a ser os números + inteiros. Isso evita erros na interpretação e análise dos + dados. Uma opção para os blocos, por exemplo, é usar números + romanos, como I, II e III, ao invés de 1, 2 e 3 (use + `as.roman(1:n)`). Para fatores como variedade, uma alternativas + é usar letras maiúsculas, como A, B e C, ao invés dos números. + * Deve ser feita distinção entre fatores nominais (`factor`) e + ordinais (`ordered`). + * `character`: é o tipo de valor para identificar/descrever + indivÃduos, como o nome dos alunos em uma classe. Essas variáveis + dificilmente representam uma caracterÃstica preditiva de algo. + * `logical`: são para variáveis que assumem dois valores (`TRUE`, + `FALSE`). Também podem ser representados pelos valores inteiros 1 + e 0. + +### Dados que não tabelas + +Existem casos em que os dados não são uma tabela (várias variáveis, em +cada coluna uma variável de tipo diferente), ou seja, usar um +`data.frame` para armazená-los não é adequado. Existem três casos +principais: + + * Quando os dados são uma amostra aleatória de uma única + variável. Nesse caso, os dados devem ser armazenados em um + vetor. Ele deve ser um vetor nomeado no caso das observações terem + rótulo, como o nome da cidade que corresponde ao valor (veja o dado + `precip`). + * Quando os dados são uma matriz, ou seja, todos os valores + correspondem ao mesmo tipo de valor. É o caso, por exemplo, de uma + matriz de distâncias entre cidades. Nesse caso, os dados devem ser + armazenados como matriz (`matrix`). Pode-se atribuir nome para as + linhas e colunas (`rownames` e `colnames`) para identificar os + registros. + * Quando os dados são uma amostra aleatória não independente, uma + séria temporal. Neste caso, no R, há uma classe de objetos `ts` + (*Time-Series*) que armazena os valores da amostra junto com a + informação da frequência em que foi observada. + +## Regras para Documentação dos Conjuntos de Dados + +Os conjuntos de dados devem ter uma documentação que permita + +. Existem vários campos da documentação que podem ser usados, no +entanto, somente 7 serão considerados indispensáveis. Uma lista completa +com a maioria dos campos está documentada em +<https://cran.r-project.org/web/packages/roxygen2/roxygen2.pdf>. + +Para ilustrar o uso dos campos principais, abaixo tem-se a documentação +do *data.frame* `RamalhoTb4.7`. Embora os campos sejam autoexplicativos +por causa do nome, segue breve explicação. + + + +`@name` +: É o campo com o nome do objeto que contém os dados (1). + +`@title` +: É o tÃtulo que representa o conjunto de dados. O tÃtulo deve + estar apropriado para o conjunto de dados fornecendo uma boa descrição + do mesmo. O tÃtulo deve estar captalizado, ou seja, iniciais + maiúsculas, exceto para artigos e preposições. Para que os tÃtulos + aparecem na documentação em PDF, deve-se usar `\enc{}{}` (2) para as + letras não ASCII, como as vogais acentuadas e o cedilha. + +`@description` +: É o campo para fornecer a descrição detalhada do conjunto de dados, + como delineamento ou plano amostral, objetivo do estudo (hipóteses ou + teoria), pessoas/organizações envolvidas. A descrição pode conter mais + de um parágrafo. Formatação de texto para itálico é feito com + `\emph{}` (3), que deve ser usado no nome cientÃfico de + espécies. Quando for mencionada alguma referência na obra (4) sobre os + dados, esta deve ser incluÃda na descrição e aparecer no campo + `@references`. + +`@format` +: Campo que informa sobre a forma e conteúdo do conjunto de + dados. Primeiramente deve ser informado o tipo de objeto e suas + dimensões (5) e depois fazer a descrição de cada uma das variáveis. A + descrição das variáveis deve conter nome, explicação, unidade de + medida e tipo de valor. A unidade de medida deve ser escrita com + notação de potência ao invés de denominadores (6). + +`@keywords` +: São palavras que classificam o conjunto de dados de acordo, por + exemplo, com o tipo de variável resposta, delineamento (7) ou análise + recomendada (ex: DIC, DQL, contagem, proporção, ACP, RP). Elas + aparecem no Ãndice remissivo no manual em PDF e facilitam na hora de + escolher dados para poder praticar. + +`@source` +: Indica a fonte dos dados. Normalmente é a referência + bibliográfica (8), a *url* do endereço de origem ou o nome + proprietário dos dados (indivÃduo, grupo ou instituição). Quando é + mencionada outra fonte para os dados, como um artigo, dissertação ou + tese, esta referência também precisa ser incluÃda (9). Para as obras + usadas no pacote, é suficiente apenas a chamada da referência (autores + e ano). + +`@examples` +: Contém código R que faz análise exploratória dos + dados, como gráficos (13) e tabelas (12). Os pacotes necessários para + executar o código da sessão devem ser carregados (10), bem como os + próprios dados (11). Depois da documentação, um `NULL` deve estar + presente (14). + +## Fluxo de Trabalho + +O fluxograma abaixo resumo em linhas gerais o fluxo de trabalho do +*labestData*. O fluxo é composto de 3 partes: 1) a da esquerda resume +ações feitas no gitlab ou entre gitlab e repositório local; 2) a do meio +são ações usando o R com o pacote *devtools*; e 3) são as ações usando o +Git. + + + +A primeira coisa é ler o Guia de Contribuição, que é este documento. Em +seguida, catalogar toda a obra criando uma +[*milestone*](https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData/milestones) +para ela. Dentro da *milestone* devem ser criados *issues*. Cada *issue* +deve ter o conteúdo para uma semana de desenvolvimento. + +O desenvolvimento começa com a criação de um ramo para inclusão das +contribuições. Cada *issue* no gitlab é numerado e para uma fácil +indentificação, o padrão é criar ramos autor numerados: `jhenifer33`, +`alessandra90`, `walmes160`. O ramo de desenvolvimento deve ser tirado +do ramo *baby*. Antes, no entanto, atualize o ramo *baby*. + +Com o Git no ramo de desenvolvimento, o trabalho de inclusão do conjunto +de dados começa com a criação do arquivo texto `txt` no diretório +`data-raw/`. O arquivo deve ser um TSV (*tab separeted values*) com +valores separados por tabulação e a primeira linha como cabeçalho. Você +tem a opção de fazer *commits* quando convier. Carregue os dados em uma +sessão R e gere o binário `rda` no diretório `data/`. Em seguida, +carrege o pacote e experimente os dados que acabou de incluir para +eliminar qualquer eventual erro. Escreva a documentação do conjunto de +dados no diretório `R/`. Use a função `roxy_data()` definida em +<https://gitlab.c3sl.ufpr.br/snippets/46>. Por fim, gere e verifique se +a transcrição para o formato `Rd` aconteceu sem erros. + +Agora que todos os arquivos foram criados (`txt`, `rda`, `R` e `Rd`), é +necessário fazer uma verificação completa no pacote. Se problemas +forem indentificados nessa fase, deve procurar fazer a correção antes de +subir. Se não houveram erros, então faça o empacotamento para gerar o +`tar.gz` do pacote. Por fim, suba para o repositório remoto no gitlab. + +Na interface do gitlab, faça um *merge request* (requisição de fusão) +para o *merger* designado à você. Se o MR for aceito, ponto positivo, +você pode fechar o *issue* pois o completou e remover o ramo que já não +é mais necessário. Caso contrário, providencie as correções indicadas +pelo *merger* e, quando prontas, notifique-o novamente no mesmo MR. + +O Projeto só termina quando todas as obras tiverem sido concluÃdas. + +## Referências Bibliográficas + +<!------------------------------------------- --> + +[**labestData**]: https://gitlab.c3sl.ufpr.br/pet-estatistica/labestData +[^1]: Processador de texto é diferente de editor de texto. O MS Word e o LibreOffice Writer são processadores enquanto que o Emacs e o Geany são editores. +[K&R]: https://en.wikipedia.org/wiki/Indent_style#K.26R_style +[^2]: Faça `C 7 C 1 -` (ctrol+7 ctrol+1 traço) para fazer 71 traços. diff --git a/vignettes/img/labestData.png b/vignettes/img/labestData.png new file mode 100644 index 0000000000000000000000000000000000000000..97f3fbea90d50eb6c70f658ffc4e7bb5ff1e11f1 Binary files /dev/null and b/vignettes/img/labestData.png differ diff --git a/vignettes/img/style-01.png b/vignettes/img/style-01.png new file mode 100644 index 0000000000000000000000000000000000000000..0b901abe0bb55cd5a56d029180aa9a6969d8fa0d Binary files /dev/null and b/vignettes/img/style-01.png differ diff --git a/vignettes/img/style-02.png b/vignettes/img/style-02.png new file mode 100644 index 0000000000000000000000000000000000000000..32e954ba60e2cb21dc6f0afd84acc9f455b8e4fd Binary files /dev/null and b/vignettes/img/style-02.png differ diff --git a/vignettes/img/style-03.png b/vignettes/img/style-03.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd56d84129bee07878a8105257147e74a064151 Binary files /dev/null and b/vignettes/img/style-03.png differ diff --git a/vignettes/img/style-04.png b/vignettes/img/style-04.png new file mode 100644 index 0000000000000000000000000000000000000000..9772e6f7a9d6a477cb61998632148acbd032a3e2 Binary files /dev/null and b/vignettes/img/style-04.png differ diff --git a/vignettes/img/style-05.png b/vignettes/img/style-05.png new file mode 100644 index 0000000000000000000000000000000000000000..738b9c6056e3f5b20168b842c567efdb8805b4db Binary files /dev/null and b/vignettes/img/style-05.png differ diff --git a/vignettes/img/style-06.png b/vignettes/img/style-06.png new file mode 100644 index 0000000000000000000000000000000000000000..56eb2e596ac282d606f5a67663acaf76933e5e19 Binary files /dev/null and b/vignettes/img/style-06.png differ diff --git a/vignettes/img/style-07.png b/vignettes/img/style-07.png new file mode 100644 index 0000000000000000000000000000000000000000..be6d95696e58448443c1f89bed776e77cce7b374 Binary files /dev/null and b/vignettes/img/style-07.png differ diff --git a/vignettes/img/workflow-labestData.png b/vignettes/img/workflow-labestData.png new file mode 100644 index 0000000000000000000000000000000000000000..dba0b59622c4408cbb05a3224ea3cdda42c90999 Binary files /dev/null and b/vignettes/img/workflow-labestData.png differ diff --git a/vignettes/obras.Rmd b/vignettes/obras.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..f4b9101cb85f4df8f18c4dcbea4b0cc80718a14c --- /dev/null +++ b/vignettes/obras.Rmd @@ -0,0 +1,38 @@ +--- +title: "Obras Contidas no labestData" +author: "PET EstatÃstica UFPR" +bibliography: config/bibliography.bib +csl: config/ABNT_UFPR_2011-Mendeley.csl +vignette: > + %\VignetteIndexEntry{Obras Contidas no labestData} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +rl <- readLines("config/bibliography.bib") +bib <- gsub(x = grep(x = rl, + pattern = "^@", + value = TRUE), + pattern = "^.*\\{(.*),.*", replacement = " * @\\1") +``` + +O pacote *labestData* contém conjuntos de dados de `r length(bib)` obras +de diversas áreas da EstatÃstica como: modelo regressão, estatÃstica +experimental, modelos lineares generalizados, controle estatÃstico da +qualidade, e outros. A lista abaixo contém a referência de cada uma +dessas obras. + +```{r, echo = FALSE, results = "asis"} +cat(bib, sep = "\n") +``` + +## Referências em formato bibtex + +```{r, echo = FALSE, results = "asis"} +cat("```tex\n") +cat(rl, sep = "\n") +cat("```\n") +``` + +## Referências Bibliográficas