R Markdown

Este é um documento produzido com R Markdown para fins pedagógicos com a turma de Métodos quantitativos aplicados à Administração, turma 2022.2 da EAUFBA.

Markdown é uma síntaxe para autoria de documentos em diversos formatos. Para mais detalhes veja http://rmarkdown.rstudio.com.

Para criar um novo documento, basta ir em File -> New File -> RMarkdown

O script alterna áreas de código (code chunk) e áreas de texto

Para inserir um code chunk, use Ctrl+Alt+l

Quando você clica em Knit um documento é gerado incluindo todos os conteúdos

Fontes primárias do RMarkdown https://bookdown.org/yihui/rmarkdown/installation.html e https://bookdown.org/yihui/rmarkdown-cookbook/

As demais fontes são o próprio R e os pacotes utilizados

# Para citar pacotes, basta adicionar o nome do pacote nos parênteses
# com aspas
citation()
## 
## To cite R in publications use:
## 
##   R Core Team (2021). R: A language and environment for statistical
##   computing. R Foundation for Statistical Computing, Vienna, Austria.
##   URL https://www.R-project.org/.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2021},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also 'citation("pkgname")' for
## citing R packages.

Análise com códigos

o arg. echo = FALSE é adicionado a um chunk para prevenir que o código seja impresso no arquivo de saída.

Resultados Descritivos

#resumo dos cinco número + média
summary.data.frame(fase5_dados)
##      Codigo          Idade         Rendimento       Salario           LMI      
##  Min.   : 1.00   Min.   :30.00   Min.   : 4300   Min.   : 4027   Min.   : 340  
##  1st Qu.:12.75   1st Qu.:47.00   1st Qu.: 6380   1st Qu.: 5950   1st Qu.:1925  
##  Median :24.50   Median :66.00   Median : 8400   Median : 7400   Median :2000  
##  Mean   :24.50   Mean   :60.98   Mean   :12275   Mean   :10507   Mean   :2175  
##  3rd Qu.:36.25   3rd Qu.:70.00   3rd Qu.:12378   3rd Qu.:10163   3rd Qu.:3000  
##  Max.   :48.00   Max.   :94.00   Max.   :81000   Max.   :54500   Max.   :3500  
##        VT                LCE       
##  Min.   :   17939   Min.   :  500  
##  1st Qu.:  150000   1st Qu.: 2262  
##  Median :  260000   Median : 3550  
##  Mean   :  787081   Mean   : 5621  
##  3rd Qu.:  591750   3rd Qu.: 6500  
##  Max.   :15680000   Max.   :35000
#pedindo desvio como resultado adicional
lapply(fase5_dados[, 2:7], sd)
## $Idade
## [1] 15.04955
## 
## $Rendimento
## [1] 12640.65
## 
## $Salario
## [1] 9332.174
## 
## $LMI
## [1] 938.0945
## 
## $VT
## [1] 2255787
## 
## $LCE
## [1] 6131.9
#Preparando uma tabela com as medidas resumo

Idade <- summarise(fase5_dados,
  Media = mean(Idade, na.rm=TRUE),
  sd = sd(Idade, na.rm=TRUE),
  Mediana = median(Idade),
  CV = sd/Media,
  Assimetria = skew(Idade),
  Curtose = kurtosi(Idade))
Rendimento <- summarise(fase5_dados,
  Media = mean(Rendimento, na.rm=TRUE),
  sd = sd(Rendimento, na.rm=TRUE),
  Mediana = median(Rendimento),
  CV = sd/Media,
  Assimetria = skew(Rendimento),
  Curtose = kurtosi(Rendimento))
resumo <- rbind(Idade,Rendimento)
resumo %>%
  kbl() %>%
  kable_styling()
Media sd Mediana CV Assimetria Curtose
60.97917 15.04955 66 0.2467982 -0.4934011 -0.5470451
12275.08333 12640.65424 8400 1.0297815 3.7326578 16.1095595

Como conduzir

Os resultados descritivos foram apresentados de diversas formas, sendo todas as variáveis quantitativas. O script apresenta a tabela com duas variáveis, e as demais podem ser adicionadas ao objeto “resumo”.

Gráfico para conferir a normalidade

#Além dos testes de normalidade, é possível verificar com gráficos
#Fora o histograma, podemos conferir com o gráfico
qqPlot(fase5_dados$Idade)

## [1] 20  9
qqPlot(fase5_dados$Rendimento)

## [1] 23 32

Como conduzir

Há uma ampla variedade de procedimentos a serem executados para análise descritiva, com diversidade de pacotes, de medidas, de tabelas e gráficos. A ideia é explorar e encontrar uma forma de reportar que seja mais eficiente em linhas de código e que ao mesmo tempo consiga ser informativa.

Correlação e regressão

M <- cor(fase5_dados[,2:7])
M
##                 Idade Rendimento    Salario         LMI          VT        LCE
## Idade      1.00000000 0.06639576 0.06322686  0.06414855  0.03984731 0.07588316
## Rendimento 0.06639576 1.00000000 0.96055074  0.03104139  0.87593243 0.85811976
## Salario    0.06322686 0.96055074 1.00000000  0.08179196  0.77329304 0.88883860
## LMI        0.06414855 0.03104139 0.08179196  1.00000000 -0.02305228 0.22698986
## VT         0.03984731 0.87593243 0.77329304 -0.02305228  1.00000000 0.76517415
## LCE        0.07588316 0.85811976 0.88883860  0.22698986  0.76517415 1.00000000
#ou
corrplot(M)

#Finalmente, a regressão
dados <- fase5_dados
modelo.reg <- lm(LCE ~ Idade+Rendimento+Salario+LMI+VT, data = dados)
summary(modelo.reg)
## 
## Call:
## lm(formula = LCE ~ Idade + Rendimento + Salario + LMI + VT, data = dados)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5082.2 -1362.0  -470.8  1186.4  5995.3 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2.219e+03  1.766e+03  -1.256 0.216035    
## Idade        6.922e+00  2.485e+01   0.279 0.781976    
## Rendimento  -2.697e-01  1.626e-01  -1.659 0.104580    
## Salario      7.154e-01  1.685e-01   4.245 0.000118 ***
## LMI          1.070e+00  4.048e-01   2.642 0.011518 *  
## VT           1.123e-03  3.972e-04   2.828 0.007143 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2551 on 42 degrees of freedom
## Multiple R-squared:  0.8454, Adjusted R-squared:  0.827 
## F-statistic: 45.92 on 5 and 42 DF,  p-value: 5.869e-16