#Iniciando o projeto:



#O código começa carregando várias bibliotecas necessárias para análises de dados, como dplyr, forecast, fpp, fpp2, tseries, patchwork, xts, zoo, tibble, e readxl.



library(dplyr)  
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(forecast) # análises
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(fpp)
## Carregando pacotes exigidos: fma
## Carregando pacotes exigidos: expsmooth
## Carregando pacotes exigidos: lmtest
## Carregando pacotes exigidos: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Carregando pacotes exigidos: tseries
library(fpp2) # coleção de séries
## ── Attaching packages ────────────────────────────────────────────── fpp2 2.5 ──
## ✔ ggplot2 3.4.4
## 
## 
## Attaching package: 'fpp2'
## The following objects are masked from 'package:fpp':
## 
##     ausair, ausbeer, austa, austourists, debitcards, departures,
##     elecequip, euretail, guinearice, oil, sunspotarea, usmelec
library(tseries)

library(patchwork) # análises graficas

library(xts)
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
## 
##     first, last
library(zoo)

library(tibble)

library(readxl)
#Os dados de vendas são lidos a partir de um arquivo Excel chamado "Vendas.xlsx" usando a função read_excel do pacote readxl. Os dados são então visualizados com a função View.

Vendas <- read_excel("~/Vendas.xlsx")
View(Vendas)



#Criação de uma tabela venda_consolidada que agrupa as vendas mensais a partir dos dados originais, somando as vendas diárias para cada ano e mês.


venda_consolidada <- Vendas %>%
  group_by(ano, mes) %>%
  summarise(venda_mensal = sum(venda_diaria)) %>%
  arrange(ano, mes)
## `summarise()` has grouped output by 'ano'. You can override using the `.groups`
## argument.
#Define uma função chamada calc_pag_realizados que realiza cálculos relacionados a pagamentos, como imposto de renda (irpf), INSS, salário base, parcela do empregador do INSS (inss_parcela_empregador), e FGTS. No entanto, a função é definida, mas não é chamada no código fornecido.

calc_pag_realizados <- function(pagamentos_realizados){
  
  pagamentos_realizados <- pagamentos_realizados%>%
    
    mutate(irpf = aliquota_ir * (salario_base + comissao_vendas),
           
           inss = 0.11 * (salario_base + comissao_vendas),
           
           salario_base = salario_base + comissao_vendas -
             
             0.11 * (salario_base + comissao_vendas)-
             
             aliquota_ir * (salario_base + comissao_vendas),
           
           inss_parcela_empregador = 0.2 * (salario_base + comissao_vendas),
           
           fgts = 0.08 * (salario_base + comissao_vendas)
           
    )
  
}

#Os dados consolidados de vendas são convertidos em um objeto de série temporal (ts) com frequência mensal (frequency = 12) a partir do ano de 2017.


ts_vendas <- ts(venda_consolidada$venda_mensal, frequency = 12,start = c(2017,1))

#Um gráfico de linha é gerado para visualizar a série temporal de vendas mensais.
plot(ts_vendas)

#Utiliza a função auto.arima do pacote forecast para ajustar automaticamente um modelo SARIMA aos dados de vendas.


modelo_sarima <- auto.arima(ts_vendas)

#Faz uma previsão para os próximos 12 meses usando o modelo SARIMA ajustado.

previsao <- forecast(modelo_sarima, h = 12)


 #Gera um gráfico de linha que mostra a série temporal de vendas, juntamente com a previsão gerada pelo modelo SARIMA.
#Em resumo, o código carrega dados de vendas, realiza manipulações e cálculos, cria uma série temporal, ajusta um modelo SARIMA automaticamente, faz previsões futuras e gera gráficos para visualização. A função calc_pag_realizados está definida, mas não é utilizada no código fornecido

autoplot(previsao) +
 

  autolayer(ts_vendas, series = "Vendas") +
  
  labs(title = "Previsão de Vendas com Modelo SARIMA",
       
       y = "Vendas",
       
       x = "Data")