Aula | Descrição | Data | Horário de nício da aula | Horário de fim da aula | Número de horas | Assunto |
---|---|---|---|---|---|---|
Aula 1 | Primeiros passos no R e Rstudio. | 03/set/2025 | 16:00 | 17:10 | 1.17 | Instalação e atualização do R; Instalação e atualização do RStudio; Apresentação da interface do RStudio; Criação e salvamento do primeiro script; Definição do diretório de trabalho (working directory) (setwd(); getwd()). |
Aula 2 | Conhecendo o RStudio e os tipos de variáveis no R | 04/set/2025 | 10:00 | 11:07 | 1.12 | Conhecendo os principais painéis do RStudio (Console , Editor/Script; Environment/History; Files/Plots/Packages/Help/Viewer); Comparar a diferença entre escrever direto no Console e salvar no Script; Reconhecendo os tipos de variáveis no Excel (numéricas, contínuas, discretas, categóricas, texto, data etc.). |
Aula 3 | Discussão sobre tipos de variáveis e desenho de experimentos. | 10/set/2025 | 16:00 | 17:20 | 1.33 | Reconhecendo os tipos de variáveis no exerimento no Excel; Como organizar os dados no Excel; Entendo sobre variáveis dependentes e independentes; Entendendo sobre fatores e níveis de fatores; Discussão sobre desenho de experimento (simples e fatorial) e analises estatísticas (paramétrica, não-paramétrica, análise univariada, bivariada e multivariada). |
Aula 4 | Instalação e ativação de pacotes e importação de dados. | 12/set/2025 | 15:30 | 18:00 | 2.50 | Instalação e ativação de pacotes; Importação de dados do excel (.xlsx); Visualização da estrutura e resumo dos dados (str(), glimpse(), summary(), View); Limpesa e organização dos dados; Organização dos nomes das variáveis usando clean_names() do pacote janitor; Reconhecimento de tipos de variáveis; Conversão de variáveis character em factor usando as.factor(). |
Andamento do Curso
Acompanhe o andamento do Curso de Estatística com R para Experimentação Agrícola.
Aulas ministradas
Acompanhe o andamento das aulas minitradas no curso.
As aulas foram estruturadas de forma progressiva, para que cada etapa sirva de base para a seguinte.
Script do curso
Baixe o script do curso e treine a progrmação em utilizando o RStudio.
Curso: Curso de Estatística com R para Experimentação Agrícola
Autor: DSc. Marlenildo Ferreira Melo
Data: 03 de setembro de 2025
Mostrar/Ocultar script
#' SCRIPT PARA ANÁLISE DE DADOS EXPERIMENTAIS EM R
#'
#' Curso: [Curso de Estatística com R para Experimentação Agrícola]
#' Autor: [DSc. Marlenildo Ferreira Melo]
#' Data: [03 de setembro de 2025]
#' Versão do R: [R version 4.5.1 (2025-06-13 ucrt)]
#' Versão do RStudio: [2025.05.1 Build 513]
#'
#' Objetivo: Análise de dados experimentais utilizando pacotes específicos em R
#' Descrição: Este script cobre desde a instalação e carregamento de pacotes,
#' importação e organização de dados, até a realização de análises estatísticas
#' como estatísticas descritivas e análise de variância (ANOVA).
#' Requisitos: R e RStudio instalados, pacotes necessários instalados
#' ============================================================================
# Aula 1. Introdução ao R e Rstudio----
#' ===========================================================================
#' Data: [03/set/2025]
#'
## 1.1 Primeiros passos----
#' Instalação e atualização do R;
#' Instalação e atualização do RStudio;
#' Apresentação da interface do RStudio;
#' Criação e salvamento do primeiro script;
#'
## 1.2. Diretório de trabalho----
#' Definição do diretório de trabalho (working directory)
#' Defina o diretório de trabalho para o local onde seus arquivos estão armazenados.
#' Altere o caminho abaixo para o diretório desejado no seu computador.
#' Exemplo de caminho no Windows: ("C:/Users/SeuUsuario/Documentos/ProjetoR")
#' Use barras normais (/) ou duplas (\\) no Windows
setwd("C:/Users/marle/OneDrive/Documentos/Projetos R/site/logo_script")
setwd("C:\\Users\\marle\\OneDrive\\Documentos\\Projetos R\\site\\logo_script")
getwd() # Verifica o diretório de trabalho atual
#' ============================================================================
# Aula 2. Conhecendo o RStudio----
#' ============================================================================
#' Data: [04/set/2025]
#'
## 2.1 Conhecendo os paíneís do RStudio
#' Console , Editor/Script; Environment/History; Files/Plots/Packages/Help/Viewer);
#' Comparar a diferença entre escrever direto no Console e salvar no Script;
#'
## 2.2 Reconhecendo tipos de variáveis
#' Reconhecendo os tipos de variáveis no Excel:
#' numéricas (contínuas, discretas)
#' categóricas (nominal e ordinal, fatores)
#' texto livre
#' data
#' lógica (*boolean*) (VERDADEIRO/FALSO)
#' ============================================================================
# Aula 3. Instalando e carregando pacotes no R----
#' ============================================================================
#' Data: [10/set/2025]
## 3.1 Instalando pacotes----
### 3.1.1 Instalação individual de pacotes----
install.packages("tidyverse") # Para manipulação e visualização de dados
install.packages("dplyr") # Para manipulação e visualização de dados
install.packages("readxl") # Para ler arquivos do Excel
install.packages("ExpDes.pt") # Para planejamento e análise de experimentos agrícolas
install.packages("easyanova") # Para facilitar análises de variância
install.packages("rstatix") # Para estatísticas descritivas e testes inferenciais
install.packages("emmeans") # Para estatísticas descritivas e testes inferenciais
install.packages("janitor") # Para limpeza e organização de dados
install.packages("kableExtra") # Para tabelas formatadas
### 3.1.2 Instalando pacotes de uma vez só----
install.packages(
"tidyverse",
"readxl",
"ExpDes.pt",
"easyanova",
"rstatix",
"emmeans",
"janitor",
"kableExtra"
)
## 3.2 Carregando pacotes----
#' Pacotes para manipulação e leitura de dados
library(tidyverse) # Inclui dplyr, ggplot2, readr, tidyr, etc.
library(dplyr) # Manipulação de dados
library(readxl) # Para importar planilhas Excel
library(readr) # Para importar arquivos de texto
#' Pacotes para análise de experimentos
library(ExpDes.pt) # ANOVA para DIC, DBC, parcelas subdivididas etc.
library(easyanova) # ANOVA e testes complementares de forma simplificada
#' Pacotes para estatística e pós-testes
library(rstatix) # Testes estatísticos (normalidade, homogeneidade, etc.)
library(emmeans) # Médias ajustadas e comparações múltiplas
#' Pacotes para organização e visualização de dados
library(janitor) # Limpeza e organização de dados
library(kableExtra) # Tabelas formatadas
## 3.3 Importando dados ara o R----
### 3.3.1 Importando dados de um arquivo Excel usando pacote readxl----
<- read_excel("C:\\Users\\marle\\OneDrive\\Documentos\\Projetos R\\site\\files\\dados_ruins_dic.xlsx", sheet = "Planilha1")
dados_ruins_dic
### 3.3.2 Importando dados de um arquivo .txt (arquivo de texo bloco de notas) usando pacote readr----
<- read_delim("C:\\Users\\marle\\OneDrive\\Documentos\\Projetos R\\site\\files\\dados_ruins_dic.txt",
dados_ruins_dic delim = "\t", escape_double = FALSE,
trim_ws = TRUE)
# Visualização rápida no console
dados_ruins_dic
View(dados_ruins_dic) # Visualização em uma aba separada
#' ============================================================================
# 5. Renomear colunas específicas----
#' ============================================================================
## 5.1 Usando pacote dplyr----
<- dados_ruins_dic |>
dados_organizados_dplyr rename(
tratamento = Tratamento,
repeticao = `Repetição`,
altura_planta_cm = `Altura da planta (cm)`,
peso_fresco_g = `Peso fresco (g)`
)
dados_organizados_dplyr
## 5.2 Usando pacote janitor----
#' formato "snake_case"
<- dados_ruins_dic |>
dados_organizados_janitor ::clean_names()
janitor
dados_organizados_janitor
#' ============================================================================
# 6. Visualizando os dados----
#' ============================================================================
## 6.1 Visualização dos dados originais----
# Visualização rápida no console
dados_organizados_janitor View(dados_organizados_janitor) # Visualização em uma aba separada (Atalho F2)
head(dados_organizados_janitor) # Primeiras linhas dos dados
tail(dados_organizados_janitor) # Últimas linhas dos dados
names(dados_organizados_janitor) # Nomes das colunas
## 6.2 Visualização da estrutura dos dados e resumo estatístico----
str(dados_organizados_janitor) # Estrutura dos dados
glimpse(dados_organizados_janitor) # Visão geral dos dados (dplyr)
summary(dados_organizados_janitor) # Resumo estatístico dos dados
#' ============================================================================
# 7. Convertendo variáveis em fatores----
#' ===========================================================================
## 7.1 Usando a função `as.factor()`----
$tratamento <- as.factor(dados_organizados_janitor$tratamento)
dados_organizados_janitor$repeticao <- as.factor(dados_organizados_janitor$repeticao)
dados_organizados_janitor
str(dados_organizados_janitor) # Estrutura dos dados
glimpse(dados_organizados_janitor) # Visão geral dos dados (dplyr)
summary(dados_organizados_janitor) # Resumo estatístico dos dados
##' 7.2 Usando a função `convert_as_factor` do pacote rstatix----
<- dados_organizados_janitor |>
dados_organizados_janitor convert_as_factor(tratamento, repeticao)
str(dados_organizados_janitor) # Estrutura dos dados
glimpse(dados_organizados_janitor) # Visão geral dos dados (dplyr)
summary(dados_organizados_janitor) # Resumo estatístico dos dados
#' ============================================================================
# 8. Conhecendo os tipos de variáveis no R----
#' ============================================================================
#' Exemplo de banco de dados com todos os tipos de variáveis
#' em experimentação agrícola (Delineamento em Blocos Casualizados)
<- read_excel("dados_tipos.xlsx", sheet = "Planilha1")
dados_tipos
# Conferindo estrutura e resumo do banco
str(dados_tipos) # Estrutura das variáveis
glimpse(dados_tipos) # Visão geral das variáveis com dplyr
summary(dados_tipos) # Resumo estatístico dos dados
# Renomeando colunas para facilitar o manuseio
<- dados_tipos |>
dados_tipos_organizado ::clean_names()
janitor
# Visualizando parte do banco
head(dados_tipos_organizado) |> view()
#' EXPLICAÇÃO DOS TIPOS DE VARIÁVEIS
#' 1) bloco -> Variável numérica inteira (discreta)
#' Representa os blocos do experimento (repetições). É usada para controlar
#' a variabilidade do campo. No R, aparece como "numeric" (ou "integer").
#' 2) tipo_adubo -> Variável de texto (character), pode ser transformada em fator
#' Representa a descrição do tratamento aplicado.
#' Exemplo: "Testemunha", "Adubo verde".
#' 3) tratamento -> Variável categórica nominal (factor)
#' É o identificador do tratamento (T1, T2, ...).
#' Não tem ordem lógica, apenas categorias distintas.
#' 4) data_coleta -> Variável do tipo Date
#' Representa a data em que os dados foram coletados.
#' 5) nota_vigor -> Variável ordinal
#' Escala de 1 a 5 indicando o vigor da planta.
#' Existe uma ordem (1 < 2 < 3 < 4 < 5).
#' 6) numero_folhas -> Variável numérica inteira (discreta)
#' Conta o número de folhas da planta.
#' Só assume valores inteiros (5, 6, 7...).
#' 7) altura_cm -> Variável numérica contínua
#' Medida da altura em centímetros.
#' Pode assumir qualquer valor real dentro de um intervalo.
#' 8) sobreviveu -> Variável lógica (boolean)
#' Indica se a planta sobreviveu (TRUE) ou morreu (FALSE).
#' 9) observacao -> Variável categórica nominal
#' Anotações pré-definidas sobre a planta: "Normal", "Doença", "Atraso".
#' Não existe ordem entre as categorias.
#' 10) comentario_livre -> Variável de texto livre (character)
#' Comentários mais detalhados feitos pelo avaliador.
#' Exemplo: "Necessita irrigação extra", "Presença de pragas".
#' ============================================================================
# 9. Convertendo variáveis em fatores no banco 'dados_tipos' ----
#' ============================================================================
# Carregando pacote necessário
library(rstatix)
library(dplyr)
## 9.1 Usando a função `as.factor()` ----
# Convertendo variáveis categóricas para fator
$tipo_de_adubo <- as.factor(dados_tipos_organizado$tipo_de_adubo)
dados_tipos_organizado$tratamento <- as.factor(dados_tipos_organizado$tratamento)
dados_tipos_organizado$observacao <- as.factor(dados_tipos_organizado$observacao)
dados_tipos_organizado$bloco <- as.factor(dados_tipos_organizado$bloco) # opcional: bloco também como fator
dados_tipos_organizado
# Conferindo estrutura e resumo do banco
str(dados_tipos_organizado) # Estrutura das variáveis
glimpse(dados_tipos_organizado) # Visão geral das variáveis com dplyr
summary(dados_tipos_organizado) # Resumo estatístico dos dados
#' Estrutura geral do banco
|> view() # com v minúsculo - Visualização em uma aba separada (Atalho F2)
dados_tipos_organizado |> View() # com v maiúsculo - Visualização em uma aba separada (Atalho F2)
dados_tipos_organizado |> str() # Estrutura das variáveis
dados_tipos_organizado |> glimpse() # Visão geral dos dados (dplyr)
dados_tipos_organizado |> summary() # Resumo estatístico dos dados
dados_tipos_organizado
## 9.2 Usando a função `convert_as_factor()` do pacote rstatix ----
# Conversão das variáveis categóricas para fatores de forma mais prática
<- dados_tipos %>%
dados_tipos convert_as_factor(tipo_adubo, tratamento, observacao, bloco)
# Conferindo novamente
str(dados_tipos) # Estrutura das variáveis
glimpse(dados_tipos) # Visão geral com dplyr
summary(dados_tipos) # Resumo estatístico
#' ============================================================================
# 10. Estatísticas descritivas----
#' ===========================================================================
## 10.1 Estatísticas descritivas gerais usando pacote dplyr----
#' Média geral
|>
dados_organizados_janitor summarise(
n = n(), # Contagem total de observações
media_altura = mean(altura_da_planta_cm, na.rm = TRUE), # Média da altura
sd_altura = sd(altura_da_planta_cm, na.rm = TRUE), # Desvio padrão da altura
media_peso = mean(peso_fresco_g, na.rm = TRUE), # Média do peso fresco
sd_peso = sd(peso_fresco_g, na.rm = TRUE) # Desvio padrão do peso fresco
)
#' Média por tratamento
|>
dados_organizados_janitor group_by(tratamento) |> # Agrupa por tratamento
summarise(
n = n(), # Contagem total de observações
media_altura = mean(altura_da_planta_cm, na.rm = TRUE), # Média da altura
sd_altura = sd(altura_da_planta_cm, na.rm = TRUE), # Desvio padrão da altura
media_peso = mean(peso_fresco_g, na.rm = TRUE), # Média do peso fresco
sd_peso = sd(peso_fresco_g, na.rm = TRUE) # Desvio padrão do peso fresco
)
## 10.2 Estatísticas descritivas usando pacote rstatix----
#' Estatísticas descritivas gerais *média e desvio-padrão*
|>
dados_organizados_janitor ::get_summary_stats(altura_da_planta_cm, peso_fresco_g, type = "mean_sd")
rstatix
#' Estatísticas descritivas por tratamento *média e desvio-padrão*
|>
dados_organizados_janitor group_by(tratamento) |> # Agrupa por tratamento
::get_summary_stats(altura_da_planta_cm, peso_fresco_g, type = "mean_sd")
rstatix
#' Estatísticas descritivas por tratamento *média e erro-padrão*
|>
dados_organizados_janitor group_by(tratamento) |> # Agrupa por tratamento
::get_summary_stats(altura_da_planta_cm, peso_fresco_g, type = "mean_se")
rstatix
#' Estatísticas descritivas completas por tratamento
|>
dados_organizados_janitor group_by(tratamento) |> # Agrupa por tratamento
::get_summary_stats(altura_da_planta_cm, peso_fresco_g)
rstatix
#' ============================================================================
# 11. Análise de variância (ANOVA)----
#' ===========================================================================
## 11.1 Usando a função `aov()`----
<- aov(altura_da_planta_cm ~ tratamento, data = dados_organizados_janitor)
modelo summary(modelo)
## 11.2 Usando a função `anova_test` do pacote rstatix----
|> anova_test(altura_da_planta_cm ~ tratamento)
dados_organizados_janitor
## 11.3 Usando a função `dic()` do pacote ExpDes.pt----
dic(
trat = dados_organizados_janitor$tratamento,
resp = dados_organizados_janitor$altura_da_planta_cm,
quali = TRUE,
mcomp = "tukey"
)
## 11.4 Usando a função `ea1` do pacote easyanova----
::ea1(dados_organizados_janitor[-2], design = 1, plot = 2, list = TRUE)
easyanova
## 11.5 Usando o pacote easyanova (ANOVA)----
## 11.6 Usando o pacote ExpDes.pt (DIC)----
#' ANOVA para DIC
#' O pacote ExpDes.pt é específico para experimentos agrícolas
#' e facilita a análise de delineamentos experimentais comuns.
#' Ele é especialmente útil para análises de variância (ANOVA)
#' em delineamentos inteiramente casualizados (DIC),
#' delineamentos em blocos casualizados (DBC),
#' parcelas subdivididas, entre outros.
#' Ele também oferece funções para realizar testes complementares,
#' como o teste de Tukey, e para gerar gráficos básicos.
#' #' A função `dic()` do pacote ExpDes.pt é usada para realizar a análise de variância (ANOVA)
#' em um delineamento inteiramente casualizado (DIC).
#' Ela calcula a ANOVA para uma variável resposta em função de um fator de tratamento,
#' considerando as repetições do experimento.
#' #' A função também pode realizar testes complementares, como o teste de Tukey,
#' para comparar as médias dos tratamentos.
#' #' A sintaxe básica da função `dic()` é a seguinte:
#' #' ```R
#' dic(response, treatment, block = NULL, quali = NULL, mcomp = "tukey", sigT = 0.05, sigF = 0.05, group = TRUE, console = TRUE)
#'
#'
#' ============================================================================
#' Fim do Script
#' ============================================================================
Bancos de dados
Baixe os bancos de dados utilizados no curso.
Banco de dados 1
Banco de dados contendo diferentes tipos de variáveis para aprender a identificá-las e analisá-las no R (categórica/fator, numérica, contínua, discreta, etc.).
Baixar dados1_tipos_de_variaveis.xlsx
Visualizar/Ocultar dados
Bloco | Tipo de adubo | Tratamento | Data de coleta | Nota de vigor de planta | Número de folhas | Altura de planta (cm) | A planta sobreviveu? | Observação | Comentário livre |
---|---|---|---|---|---|---|---|---|---|
1 | Testemunha | T1 | 2025-03-01 | 3 | 11 | 140.6 | FALSE | Atraso | Presença de pragas |
1 | Adubo químico 50 kg N | T2 | 2025-03-08 | 3 | 6 | 124.7 | TRUE | Doença | Folhas amareladas |
1 | Adubo químico 100 kg N | T3 | 2025-03-15 | 2 | 5 | 162.6 | FALSE | Atraso | Presença de pragas |
1 | Adubo orgânico | T4 | 2025-03-22 | 2 | 10 | 152.3 | FALSE | Normal | Presença de pragas |
1 | Adubo verde | T5 | 2025-03-29 | 3 | 7 | 132.9 | TRUE | Doença | Presença de pragas |
2 | Testemunha | T1 | 2025-04-05 | 5 | 8 | 168.8 | FALSE | Doença | Bom desenvolvimento |
2 | Adubo químico 50 kg N | T2 | 2025-04-12 | 4 | 10 | 156.4 | FALSE | Atraso | Folhas amareladas |
2 | Adubo químico 100 kg N | T3 | 2025-04-19 | 1 | 5 | 145.6 | TRUE | Doença | Folhas amareladas |
2 | Adubo orgânico | T4 | 2025-04-26 | 2 | 7 | 163.4 | TRUE | Normal | Presença de pragas |
2 | Adubo verde | T5 | 2025-05-03 | 3 | 11 | 163.2 | FALSE | Atraso | Necessita irrigação extra |
3 | Testemunha | T1 | 2025-05-10 | 5 | 9 | 162.3 | TRUE | Atraso | Presença de pragas |
3 | Adubo químico 50 kg N | T2 | 2025-05-17 | 3 | 8 | 160.3 | TRUE | Atraso | Presença de pragas |
3 | Adubo químico 100 kg N | T3 | 2025-05-24 | 3 | 11 | 158.3 | TRUE | Doença | Presença de pragas |
3 | Adubo orgânico | T4 | 2025-05-31 | 1 | 12 | 149.1 | FALSE | Doença | Bom desenvolvimento |
3 | Adubo verde | T5 | 2025-06-07 | 4 | 6 | 145.4 | FALSE | Atraso | Folhas amareladas |
4 | Testemunha | T1 | 2025-06-14 | 1 | 9 | 144.3 | TRUE | Normal | Presença de pragas |
4 | Adubo químico 50 kg N | T2 | 2025-06-21 | 1 | 11 | 139.6 | FALSE | Normal | Bom desenvolvimento |
4 | Adubo químico 100 kg N | T3 | 2025-06-28 | 5 | 5 | 146.9 | FALSE | Atraso | Presença de pragas |
4 | Adubo orgânico | T4 | 2025-07-05 | 3 | 5 | 131.0 | TRUE | Doença | Bom desenvolvimento |
4 | Adubo verde | T5 | 2025-07-12 | 2 | 6 | 182.5 | TRUE | Doença | Folhas amareladas |
Faça as atividades propostas
Desafios e exercícios à frente!
Desenvolva as atividades a seguir e fortaleça suas habilidades em R.
Atividade 1
Nesta atividade você deverá buscar um banco de dados, exportar para o Excel e, dentro do Excel, identificar os tipos de variáveis.
- Procure e selecione um banco de dados (de sites abertos ou de outra fonte confiável).
- Exporte o banco de dados para o Excel (formato
.xlsx
).
- Abra o banco no Excel.
- Analise cada coluna e classifique o tipo de variável:
- Numérica (valores inteiros ou decimais)
- Texto / Caractere (nomes, palavras, descrições)
- Lógica (valores Verdadeiro/Falso ou Sim/Não)
- Categórica / Fator (classes ou categorias, como tratamentos, cidades, espécies etc.)
- Numérica (valores inteiros ou decimais)
- Crie uma tabela resumo no Excel com as seguintes colunas:
- Nome da variável
- Tipo identificado
- Justificativa (por que é desse tipo)
- Nome da variável
👉 Essa atividade vai treinar a percepção dos diferentes tipos de variáveis e a organização de informações em planilhas.