This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
# Instalar e carregar os pacotes necessários
if (!require("ggplot2")) install.packages("ggplot2", dependencies=TRUE)
## Carregando pacotes exigidos: ggplot2
library(ggplot2)
# Ler o dataset (substitua 'seu_dataset.csv' pelo caminho do seu arquivo)
dataset <- read.csv("data/valores.csv")
# Verificar a estrutura dos dados
str(dataset)
## 'data.frame': 202 obs. of 4 variables:
## $ Nome : chr "Hemacias" "Hemoglobina" "Hematocrito" "VCM" ...
## $ Data : chr "29/08/2022" "29/08/2022" "29/08/2022" "29/08/2022" ...
## $ Laboratorio: chr "ProSangue" "ProSangue" "ProSangue" "ProSangue" ...
## $ Valor : chr "5,78" "15,4" "46,6" "80,6" ...
# Garantir que a coluna 'data' seja do tipo Date
dataset$Data <- as.Date(dataset$Data, format="%d/%m/%Y") # Ajuste o formato da data conforme necessário
# Definir a função
grafico_linha <- function(data, nome_exame) {
# Filtrar os dados pelo nome do exame
dados_filtrados <- subset(data, Nome == nome_exame)
# Verificar se os dados foram filtrados corretamente
if (nrow(dados_filtrados) == 0) {
stop("Nenhum dado encontrado para o exame especificado.")
}
# Garantir que a coluna 'Valor' seja numérica
dados_filtrados$Valor <- as.numeric(gsub(",", ".", dados_filtrados$Valor)) # Trocar vÃrgula por ponto
# Ordenar os dados pela coluna de data
dados_filtrados <- dados_filtrados[order(dados_filtrados$Data), ]
# Criar o gráfico de linha com pontos
grafico <- ggplot(dados_filtrados, aes(x = Data, y = Valor, group = 1)) +
geom_line() +
geom_point() +
labs(title = paste("Valores do exame:", nome_exame),
x = deparse(substitute(Data)),
y = deparse(substitute(Valor))) +
scale_x_date(date_labels = "%Y-%m", date_breaks = "1 month") +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
# Ajustar o formato do eixo Y para exibir valores numéricos ordenados corretamente
scale_y_continuous(labels = scales::comma) +
# Adicionar a linha vermelha vertical no ponto "2023-09"
geom_vline(xintercept = as.Date("2023-09-01"), color = "red", linetype = "dashed", size = 1) +
# Adicionar a legenda descritiva ao lado da linha
annotate("text", x = as.Date("2023-09-01"), y = max(dados_filtrados$Valor, na.rm = TRUE),
label = "InÃcio do imunobiológico", color = "red", hjust = -0.1, vjust = 1)
# Retornar o gráfico
return(grafico)
}
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.