Prévia do material em texto
<p>Link para a instalação do R e do RTools</p><p>Clique o link https://cran.r-project.org/index.html para abrir o recurso.</p><p>Link para a instalação do RStudio</p><p>Clique o link https://www.rstudio.com/products/rstudio/download/ para abrir o recurso.#</p><p>library ("RcmdrMisc")</p><p>library(readxl)</p><p>library("DescTools")</p><p>library("knitr")</p><p>install.packages('Rcmdr', dependencies = TRUE)</p><p>install.packages('DescTools')</p><p>library("Rcmdr")</p><p>library(Rcmdr)</p><p>Operacoes basicas da matematica</p><p>6 + 3 #soma</p><p>6 - 3 #subtracao</p><p>6 * 3 #multiplicacao</p><p>6 / 3 #divisao</p><p>6 ^ 3 #potenciacao</p><p>6 ** 3 #potenciacao</p><p>sqrt(81) #raiz quadrada</p><p>81 ^ (1/2) #raiz quadrada</p><p>216 ^ (1/3) #raiz cubica</p><p>10 %% 3 #resto da divisao</p><p>log(8) #logaritimo natural de 8</p><p># Solucao das atividades</p><p>(6 + 3 * 5) / 7 # 3</p><p>(9 * 4) ** (2/3) # 10,90272</p><p>Script produzido na aula</p><p># Tipos de objetos mais comuns no R: vetores, fatores, matrizes, bases de dados, listas e funções</p><p># Vetores: objetos que podem conter números (inteiros, reais, e outros), textos ou valores lógicos</p><p># Objeto com um elemento:</p><p>minhaCidade = "Linhares"</p><p>minhaCidade <- "Linhares" # os operadores "=" ou "<-" servem para atribuir elementos aos objetos</p><p>minhaAltura = 1.85</p><p>souProfessor = TRUE</p><p># Objeto com vários elementos</p><p>sequenciaAlunos <- 1:5 # o operador ":" cria uma sequência</p><p>sequenciaAlunos = seq(1,10, by = 2) # a função "seq" também cria uma sequência, mas é possível indicar os passos</p><p>salaDeAula = c(101,201,301,401,501) # a função "c" (combinação) permite indicar os elementos que serão atribuídos ao objeto</p><p>nomesDosAlunos = c("João","Maria","José","Pedro","Ana")</p><p># Não devemos mistrurar diferentes tipos de dados num mesmo objeto</p><p>print(nomesDosAlunos) # mostrar os elementos de um objeto no console</p><p>class(nomesDosAlunos) # mostra o tipo de dado do objeto</p><p>str(nomesDosAlunos) # mostra um resumo do objeto</p><p># Cálculos com vetores</p><p>notaProva1 = c(10,9,9.5,8,9)</p><p>notaProva2 = c(9,9.5,10,9,8)</p><p>notaTotal = notaProva1 + notaProva2</p><p>notaTotal100 = notaTotal * 10</p><p># Atribuindo nomes aos vetores</p><p>names(notaTotal100) = nomesDosAlunos</p><p>print(notaTotal100)</p><p># Fatores: são objetos que definem variáveis categóricas</p><p>sexo = c("Masculino","Feminino","Masculino","Masculino","Feminino")</p><p>sexo = factor(sexo)</p><p>str(sexo)</p><p>table(sexo)</p><p>sexo = c("Masculino","Feminino","Masculino","Masculino","Feminino")</p><p>sexo = factor(x=sexo, levels = c("Masculino","Feminino"), labels = c("M","F"), ordered = TRUE)</p><p>table(sexo)</p><p># Correção da atividade</p><p>meuNome = "Tiago José Pessotti"</p><p>vetor1 = seq(1,5)</p><p>vetor2 = vetor1 * (-1)</p><p>vetor3 = vetor1 * vetor2</p><p>vetor3 = vetor3 ^ 2</p><p>Confira o script produzido na aula:</p><p># Bases de dados: objetos que armazenam matrizes formadas por vetores, fatores ou ambos</p><p>nomesDosAlunos = c("João","Maria","José","Pedro","Ana")</p><p>sexo = c("Masculino","Feminino","Masculino","Masculino","Feminino")</p><p>notaProva1 = c(10,9,9.5,8,9)</p><p>notaProva2 = c(9,9.5,10,9,8)</p><p>notaTotal = notaProva1 + notaProva2</p><p>diarioDeNotas = data.frame(nomesDosAlunos,sexo,notaProva1,notaProva2,notaTotal)</p><p>class(diarioDeNotas)</p><p>str(diarioDeNotas)</p><p>mtcars = mtcars</p><p>mpg = mtcars$mpg</p><p>cyl = mtcars$cyl</p><p>mtcarsSelecao = data.frame(mpg,cyl)</p><p>library(readxl)</p><p>mtcarsExcel <- read_excel("basesDeDados/mtcars.xlsx",</p><p>sheet = "Base", col_types = c("text",</p><p>"numeric", "numeric", "numeric",</p><p>"numeric", "text", "text", "text",</p><p>"numeric", "numeric", "numeric", "skip"))</p><p>Script produzido na aula</p><p># Utilização de subscritos: comandos que identificam elementos específicos nos objetos</p><p>nomesDosAlunos = c("João","Maria","José","Pedro","Ana")</p><p>nomesDosAlunos[3] #mostra o terceiro elemento do objeto</p><p>nomesDosAlunos[-3] #lista todos os elementos, exceto o terceiro</p><p>nomesDosAlunos[c(1,3,5)] #lista os elementos nas posições indicadas</p><p>nomesDosAlunos[3:5] #lista os elementos das posições 3 a 5</p><p>nomesDosAlunos[seq(3,5)] #lista os elementos das posições 3 a 5</p><p>nomesDosAlunos[seq(1,5, by=2)] #lista os elementos de 1 a 5, pulando de 2 em 2</p><p>nomesDosAlunos[3] = "Paulo"</p><p>nomesDosAlunos[6] = "José"</p><p>nomesDosAlunos[8] = "Tobias"</p><p>length(nomesDosAlunos) #mostra a quantidade de elementos de um objeto</p><p>nomesDosAlunos[length(nomesDosAlunos)+1] = "Jairo"</p><p>print(nomesDosAlunos)</p><p>mtcars=mtcars</p><p>mtcars[3,4] #dado da terceira linha, quarta coluna</p><p>mtcars[3:5,4] #dados das linhas 3 a 5, quarta coluna</p><p>terceiraColuna = mtcars[,3] #todos os dados da terceira coluna</p><p>terceiraLinha = mtcars[3,] #todos os dados da terceira linha</p><p>mtcarsSelecao = mtcars[,1:3] #todos os dados das três primeiras colunas</p><p>#Criação de subgrupos</p><p>carrosEconomicos=subset(mtcars, mpg>22)</p><p>carrosAutomaticos=subset(mtcars, am==0)</p><p>#Correção das atividades</p><p>esoph = esoph</p><p>esoph[40,4]</p><p>ativ3 = esoph[,2:4]</p><p>ativ4 = subset(esoph, ncases>=4)</p><p>install.packages("ggplot2")</p><p>install.packages("esquisse")</p><p>Script produzido na aula</p><p># Gráfico com uma variável</p><p>sexo = c("Masculino",'Feminino',"Masculino","Masculino",'Feminino','Feminino',</p><p>'Feminino',"Masculino",'Feminino',"Masculino",'Feminino')</p><p>sexo = factor(sexo)</p><p>plot(x=sexo,</p><p>main = "Sexo dos alunos da turma XYZ",</p><p>sub = "Fonte: elaborado pelos autores",</p><p>xlab = "Sexo",</p><p>ylab = "Frequência")</p><p># Gráfico com duas variáveis</p><p>cars = cars</p><p>plot(x=cars$speed, y=cars$dist,</p><p>main = "Speed and Stopping Distances of Cars",</p><p>sub = "Ezekiel, M. (1930) Methods of Correlation Analysis. Wiley.",</p><p>xlab = "Speed",</p><p>ylab = "Distance")</p><p>parametro1 = par(bg = "gray",</p><p>cex.main = 1.5,</p><p>cex.lab = 0.8,</p><p>cex.sub = 0.8,</p><p>col.main = "red",</p><p>col.axis = "blue",</p><p>col.lab = "blue",</p><p>family = "mono",</p><p>fg = "blue")</p><p>parametro2 = par(bg = "white",</p><p>cex.main = 2,</p><p>cex.lab = 0.8,</p><p>cex.sub = 0.8,</p><p>col.main = "Blue",</p><p>col.axis = "red",</p><p>col.lab = "red",</p><p>family = "sans",</p><p>fg = "green")</p><p># Criando um gráfico com ggplot2 e esquisse</p><p>library(esquisse)</p><p>library(ggplot2)</p><p>diamonds = diamonds</p><p>esquisser(diamonds)</p><p># Criando um gráfico com ggplot2 e esquisse</p><p>library(esquisse)</p><p>library(ggplot2)</p><p>mpg = mpg</p><p>esquisser(mpg)</p><p>library(ggplot2)</p><p>ggplot(mpg) +</p><p>aes(x = displ, y = hwy, colour = cyl) +</p><p>geom_point(shape = "circle", size = 1.5) +</p><p>scale_color_gradient() +</p><p>labs(x = "Cilindradas do motor", y = "Autonomia na autoestrada", title = "Relação entre consumo e cilindradas do motor",</p><p>subtitle = "A autonomia diminui a medida que as cilindradas aumentam", caption = "Pacote ggplot2",</p><p>color = "Cilindros") +</p><p>theme_minimal() +</p><p>theme(plot.title = element_text(size = 18L, face = "bold",</p><p>hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))</p><p>Script produzido na aula</p><p># Ativando os pacotes</p><p>library(esquisse)</p><p>library(ggplot2)</p><p>ggplot(mpg) +</p><p>aes(x = displ, y = hwy, colour = cyl) +</p><p>geom_point(shape = "circle", size = 1.5) +</p><p>scale_color_gradient() +</p><p>labs(x = "Cilindradas do motor", y = "Autonomia na autoestrada", title = "Relação entre consumo e cilindradas do motor",</p><p>subtitle = "A autonomia diminui a medida que as cilindradas aumentam", caption = "Pacote ggplot2",</p><p>color = "Cilindros") +</p><p>theme_minimal() +</p><p>theme(plot.title = element_text(size = 18L, face = "bold",</p><p>hjust = 0.5), plot.subtitle = element_text(hjust = 0.5))</p><p># Construindo um gráfico com ggplot2</p><p>ggplot(data = mpg) +</p><p>aes(x = displ, y = hwy, fill = drv)+</p><p>geom_point(alpha = 1,</p><p>colour = 'red',</p><p>shape = 24,</p><p>size = 2) +</p><p>labs(title = 'Relação entre a autonomia (Km / litro) e as cilindradas do motor',</p><p>subtitle = 'A autonomia diminui a medida que as cilindradas aumentam',</p><p>caption = 'Fonte: ggplot2',</p><p>x = 'Cilindradas do motor',</p><p>y = 'Autonomia na autoestrada',</p><p>fill = 'Tração')+</p><p>theme_bw() +</p><p>theme(plot.title = element_text(face = 'bold',</p><p>size = 18,</p><p>colour = 'red',</p><p>hjust = 0.5,</p><p>margin = margin(t=0.5,</p><p>r=0.5, b=0.2, l=0.5, unit = 'cm')),</p><p>plot.subtitle = element_text(size = 12,</p><p>face = 'italic',</p><p>hjust = 0.5,</p><p>margin = margin(t=0,r=0,b=0.5,l=0,'cm')),</p><p>plot.caption = element_text(face = 'italic'),</p><p>axis.title = element_text(margin = margin(t=0.5,r=0,b=0,l=0,'cm'),</p><p>color = 'blue'),</p><p>axis.text = element_text(color = 'blue'),</p><p>legend.background = element_rect(fill = 'yellow',</p><p>colour = 'green',</p><p>linetype = 1),</p><p>legend.title = element_text(hjust = 0.5,</p><p>face = 'bold'),</p><p>plot.background = element_rect(fill = 'gray'),</p><p>panel.background = element_rect(fill = 'yellow'),</p><p>panel.grid = element_line(colour = 'gray'),</p><p>panel.border = element_rect(colour = 'blue'))</p><p>Script produzido na aula</p><p># Instalação dos pacotes Rcmdr e Desctools</p><p>install.packages('Rcmdr', dependencies = TRUE)</p><p>install.packages('DescTools')</p><p>#Medidas de tendência central</p><p>tmcBr = c(29,31,35,39,39,42,44)</p><p>mean(tmcBr) #Média</p><p>median(tmcBr) #Mediana</p><p>library("DescTools")</p><p>Mode(tmcBr) #Moda</p><p># Exercício 1</p><p>mtcars = mtcars</p><p>mean(mtcars$mpg)</p><p>median(mtcars$mpg)</p><p>Mode(mtcars$mpg)</p><p># Valores extremos</p><p>numeros = c(rep(1,98),99,100)</p><p>numeros[100]</p><p>mean(numeros)</p><p>Script produzido na aula</p><p>#Medidas de posição e de dispersão</p><p>tmcBr = c(29,31,35,39,39,42,44)</p><p>quantile(x=tmcBr, type = 1) # quartis</p><p>sd(tmcBr) # desvio padrão</p><p>sd(tmcBr) ** 2 # variância</p><p># Exercício</p><p>mtcars = mtcars</p><p>quantile(mtcars$mpg, type = 1)</p><p>sd(mtcars$mpg)</p><p>sd(mtcars$mpg) ** 2</p><p>tapply(mtcars$mpg, mtcars$am, sd)</p><p>mtcars = mtcars</p><p>library("Rcmdr")</p><p>numSummary(mtcars$mpg,</p><p>statistics=c("mean", "sd", "IQR","quantiles"),</p><p>quantiles=c(0,.25,.5,.75,1),</p><p>groups = mtcars$cyl)</p><p>Script produzido na aula</p><p># Identificação e tratamento de outliers</p><p>mtcars = mtcars</p><p>library("Rcmdr")</p><p>numSummary(mtcars$mpg,</p><p>statistics=c("mean", "sd", "IQR","quantiles"),</p><p>quantiles=c(0,.25,.5,.75,1))</p><p>limSuperior = 22.8+1.5*7.375</p><p>mpg = c(mtcars$mpg, 34)</p><p>boxplot(mpg)</p><p>library("DescTools")</p><p>Outlier(mpg)</p><p>mpg = Winsorize(mpg)</p><p>boxplot(mpg)</p><p>---</p><p>title: "Medidas numéricas descritivas"</p><p>author: "Coloque seu nome aqui"</p><p>date: "Informe a data aqui"</p><p>output: html_document</p><p>---</p><p>Criar um novo chunk: CTRL + ALT + I</p><p>```{r setup, include=TRUE}</p><p>library("knitr")</p><p>opts_chunk$set(echo = TRUE)</p><p>```</p><p><h2> Base de dados mtcars </h2></p><p><p> Apresenta o consumo de combustível, em milhas por galão, e outros 10 aspectos relacionados ao design e a performance de 32 modelos de automóveis. </p></p><p><p>Para este estudo, foram selecionadas 3 variáveis:</p></p><p>[, 1] mpg: milhas por galão</br></p><p>[, 6] wt: peso do veículo</br></p><p>[, 9] am: tipo de transmissão (0=automática, 1=manual)</p><p>```{r mtcars}</p><p>str(mtcars[,c(1,6,9)])</p><p>```</p><p><h3>Medidas numéricas descritivas </h3></p><p>Para a variável mpg:</p><p>```{r medNumDesc}</p><p>mean(mtcars$mpg) # Média</p><p>median(mtcars$mpg) # Mediana</p><p>var(mtcars$mpg) # Variância</p><p>sd(mtcars$mpg) # Desvio padrão</p><p>quantile(mtcars$mpg) # Quartis</p><p>```</p><p><h3>Resumo numérico descritivo</h3></p><p>```{r resNumDesc}</p><p>summary(mtcars[,c(1,6,9)])</p><p>RcmdrMisc::numSummary(mtcars$mpg,</p><p>statistics=c("mean", "sd", "IQR","quantiles"),</p><p>quantiles=c(0,.25,.5,.75,1),</p><p>groups = mtcars$am)</p><p>```</p><p><h2>Identificação de outliers</h2></p><p>```{r outliers}</p><p>boxplot(mtcars[,c(1,6,9)])</p><p>par(mfcol = c(1,3))</p><p>boxplot(mtcars[,1], main = 'mpg')</p><p>boxplot(mtcars[,6], main = 'wt')</p><p>boxplot(mtcars$am, main = 'am')</p><p>library("DescTools")</p><p>Outlier(mtcars$wt)</p><p>```</p><p>Depois de abrir o arquivo no R, você pode manipular as fórmulas e gerar o relatório clicando no botão knit.</p><p>Avaliação</p><p>Orientações</p><p>O RStudio utiliza o ponto como separador decimal, seguindo o padrão americano de escrita de números. Ao escrever os números nas atividades avaliativas do curso, porém, o ponto deve ser substituído pela vírgula.</p><p>Por exemplo: a tabela mostra um resumo numérico descritivo da variável "mpg" da base de dados "mtcars", agrupada pela variável "cyl":</p><p>> numSummary(mtcars$mpg,</p><p>+ statistics=c("mean", "sd", "IQR","quantiles"),</p><p>+ quantiles=c(0,.25,.5,.75,1),</p><p>+ groups = mtcars$cyl)</p><p>mean sd IQR 0% 25% 50% 75% 100% data:n</p><p>4 26.66364 4.509828 7.60 21.4 22.80 26.0 30.40 33.9 11</p><p>6 19.74286 1.453567 2.35 17.8 18.65 19.7 21.00 21.4 7</p><p>8 15.10000 2.560048 1.85 10.4 14.40 15.2 16.25 19.2 14</p><p>Nas atividades avaliativas, a média deve ser escrita da seguinte maneira:</p><p>mean</p><p>4 26,66364</p><p>6 19,74286</p><p>8 15,10000</p><p>O ponto deve ser substituído pela vírgula, caso contrário as atividades avaliativas não reconhecerão os números.</p><p>Atividade avaliativa 3</p><p>A base de dados "mercBolsa", disponível neste link, mostra o Índice Bovespa e a cotação do dólar, diariamente, durante um período de 245 dias úteis. As variáveis do estudo são:</p><p>movIbov: indica se houve um movimento de Alta ou de Baixa no índice Bovespa naquele dia;</p><p>IBOVclose: cotação diária de fechamento do índice Bovespa;</p><p>varIbov: variação perentual da cotação diária de fechamento do índice Bovespa, sempre em relação ao dia anterior;</p><p>USD: cotação de fechamento diário do dólar;</p><p>varUSD: variação perentual da cotação diária de fechamento do dólar, sempre em relação ao dia anterior.</p><p>Antes de iniciar a atividade avaliativa, você deve importar a base de dados "mercBolsa" no R.</p><p>Valor da atividade avaliativa: 10 pontos.</p><p>Você pode tentar fazer essa atividade avaliativa duas vezes, e será mantida a nota mais alta.</p><p>Bom trabalho!</p><p># Criando a base de dados</p><p>tmcBr=c(29,31,35,39,39,42,44)</p><p>calcados=data.frame(tmcBr)</p><p># Definindo as hipóteses da pesquisa</p><p># H0 (hipótese nula): o tamanho médio do calçado da população pode ser = a 40</p><p># H1 (hipótese alternativa): o tamanho médio do calçado é <> de 40</p><p>library("Rcmdr")</p><p># Nível de significância = 1 - nível de confiança (90, 95 ou 99%)</p><p># p-value < nível de significância, rejeita a hipótese nula</p><p># p-value > nível de significância, não rejeita a hipótese</p><p># Ao nível de significância de 5% (ou ao nível de confiança de 95%),</p><p># não há evidência estatística para rejeitar a hipótese nula.</p><p># Criando a base de dados</p><p>vota = c("Sim","Nao","Nao","Sim","Nao","Sim",</p><p>"Sim","Nao","Sim","Sim","Nao","Sim",</p><p>"Sim","Sim","Nao","Sim","Nao","Sim",</p><p>"Sim","Nao","Sim","Sim","Sim","Nao",</p><p>"Nao","Sim","Sim","Sim","Nao","Sim")</p><p>eleicoes=data.frame(vota)</p><p>library("Rcmdr")</p><p># Hipóteses</p><p># H0 (hipótese nula): a proporcao de pessoas da população que não escolheria o</p><p># candidato poderia ser maior ou igual que 50%</p><p># H1 (hipótese alternativa): a proporcao de pessoas da população que não escolheria</p><p># o candidato é menor que 50%</p><p># Nível de significância = 1 - nível de confiança (90, 95 ou 99%)</p><p># p-value < nível de significância, rejeita a hipótese nula</p><p># p-value > nível de significância, não rejeita a hipótese</p><p># Ao nível de significância de 10%, a hipótese nula poderia ser rejeitada</p><p>---</p><p>title: "Pesquisa Eleitoral"</p><p>author: "Tiago José Pessotti"</p><p>date: "2022-09-12"</p><p>output: html_document</p><p>---</p><p>```{r setup, include=FALSE}</p><p>knitr::opts_chunk$set(echo = TRUE)</p><p>library(readxl)</p><p>eleicoes <- read_excel("basesDeDados/eleicoes.xlsx")</p><p>```</p><p>H0: A proporção de pessoas, na população, que escolheria NÃO VOTAR no candidato é igual a 50%</p><p>H1: A proporção de pessoas, na população, que escolheria VOTAR no candidato é diferente de 50%</p><p>```{r}</p><p>local({</p><p>.Table <- xtabs(~ Voto , data= eleicoes )</p><p>cat("\nFrequency counts (test is for first level):\n")</p><p>print(.Table)</p><p>prop.test(rbind(.Table), alternative='two.sided', p=.5, conf.level=.95,</p><p>correct=FALSE)</p><p>})</p><p>Esta atividade utiliza, novamente, a base de dados "mercBolsa", disponível neste link. As variáveis selecionadas são:</p><p>movIbov: indica se houve um movimento de Alta ou de Baixa no índice Bovespa naquele dia;</p><p>USD: cotação de fechamento diário do dólar.</p><p>Lembre-se de importar</p><p>a base de dados no R antes de iniciar a atividade.</p><p>Valor da atividade avaliativa: 10 pontos.</p><p>Você pode tentar fazer essa atividade avaliativa duas vezes, e será mantida a nota mais alta.</p><p>Bom trabalho!</p><p>```</p><p>Rcmdr> local({</p><p>Rcmdr+ .Table <- xtabs(~ movIbov , data= mercBolsa_1_ )</p><p>Rcmdr+ cat("\nFrequency counts (test is for first level):\n")</p><p>Rcmdr+ print(.Table)</p><p>Rcmdr+ prop.test(rbind(.Table), alternative='less', p=0.5, conf.level=.95,</p><p>Rcmdr+ correct=FALSE)</p><p>Rcmdr+ })</p><p>Frequency counts (test is for first level):</p><p>movIbov</p><p>Alta Baixa</p><p>132 113</p><p>1-sample proportions test without continuity correction</p><p>data: rbind(.Table), null probability 0.5</p><p>X-squared = 1.4735, df = 1, p-value = 0.8876</p><p>alternative hypothesis: true p is less than 0.5</p><p>95 percent confidence interval:</p><p>0.0000000 0.5904515</p><p>sample estimates:</p><p>p</p><p>0.5387755</p><p>Há evidência para rejeitar a hipótese nula, uma vez que a propoção esperada para o movimento de Alta está dentro do intervalo de confiança de 95% (0.4862525 - 1.0000000). Falsa</p><p>Com um p-value maior que 10%, não há evidência para rejeitar a hipótese nula. VVerdadeira</p><p>Ha evidência para rejeitar a hipótese nula, uma vez que a proporção média do movimento de Alta é maior que 0,53. Falsa</p><p>Teste de diferença de médias - amostras independentes</p><p>Script produzido na aula</p><p>momento = c(rep("Antes",7), rep("Depois",7))</p><p>nota = c(6,5,6,9,6,8,7,</p><p>8,10,7,9,10,9,9)</p><p>novaPolitica = data.frame(momento,nota)</p><p>library("Rcmdr")</p><p># Problema de pesquisa</p><p># Será que a nota média antes da nova política era menor do que a nota média</p><p># depois da nova política?</p><p># H0: a nota média antes da nova política era menor ou igual a nota média</p><p># depois da nova política.</p><p># Nível de significância = 1 - nível de confiança (90, 95 ou 99%)</p><p># p-value < nível de significância, rejeita a hipótese nula</p><p># p-value > nível de significância, não rejeita a hipótese</p><p>A base de dados "habitoLeitura", disponível neste link, mostra os dados de uma pesquisa sobre os hábitos de leitura de uma determinada população. As variáveis selecionadas para esta atividade são:</p><p>GOSTALER: variável binária que indica se a pessoa gosta ou não de ler;</p><p>TIPOLIVRO: variável qualitativa que indica os tipos de livro que a pessoa costuma ler;</p><p>QTDE: variável quantitativa que indica o consumo anual de livros.</p><p>Antes de iniciar a atividade avaliativa, você deve importar a base de dados "habitoLeitura" no R.</p><p>Teste F Anova de fator único</p><p>Premissas</p><p># ANOVA de fator único</p><p>tipo = c(rep("t1",7), rep("t2",7), rep("t3",7), rep("t4",7))</p><p>tipo = factor(tipo)</p><p>pLucro = c(20,16,20,22,24,25,23,</p><p>21,23,20,26,17,27,24,</p><p>12,30,14,25,18,23,28,</p><p>29,39,39,27,33,21,26)</p><p>lucratividade = data.frame(tipo,pLucro)</p><p>library(Rcmdr)</p><p># Premissas:</p><p># Aleatoriedade e independência = na seleção da amostra</p><p># Normalidade = Shapiro Test (H0: distribuição normal)</p><p># Homogeneidade = Teste de Levene (H0: variâncias são iguais)</p><p><!-- R Commander Markdown Template --></p><p>Teste F Anova de Fator Único</p><p>============================</p><p>### Tiago Pessotti</p><p>### `r as.character(Sys.Date())`</p><p>```{r echo=FALSE, include=FALSE}</p><p># include this code chunk as-is to set options</p><p>knitr::opts_chunk$set(comment=NA, prompt=TRUE, out.width=750, fig.height=8, fig.width=8)</p><p>library(Rcmdr)</p><p>library(car)</p><p>library(RcmdrMisc)</p><p>```</p><p>```{r echo=FALSE, include=FALSE}</p><p>tipo = c(rep("t1",7), rep("t2",7), rep("t3",7), rep("t4",7))</p><p>tipo = factor(tipo)</p><p>pLucro = c(20,16,20,22,24,25,23,</p><p>21,23,20,26,17,27,24,</p><p>12,30,14,25,18,23,28,</p><p>29,39,39,27,33,21,26)</p><p>lucratividade = data.frame(tipo,pLucro)</p><p>```</p><p># Verificação de dados discrepantes</p><p>O gráfico de BoxPlot não mostra nenhum dado discrepante (não há nenhum ponto que excede os limites superior e inferior do gráfico).</p><p>### Boxplot: pLucro ~ tipo</p><p>```{r}</p><p>Boxplot(pLucro ~ tipo, data=lucratividade, id=list(method="y"))</p><p>```</p><p># Verificação das premissas</p><p>## Normalidade</p><p>Utilização do teste de Shapiro-Wilk, cuja H0 é que os dados estejam distribuidos nos moldes da distriução normal. Espera-se não rejeitar a hipótese nula.</p><p>### Normality Test: pLucro ~ tipo</p><p>```{r}</p><p>normalityTest(pLucro ~ tipo, test="shapiro.test", data=lucratividade)</p><p>```</p><p>### Density Plot: pLucro~tipo</p><p>```{r}</p><p>densityPlot(pLucro~tipo, data=lucratividade, bw=bw.SJ, adjust=1,</p><p>kernel=dnorm, method="adaptive")</p><p>```</p><p>## Homogeneidade das variâncias</p><p>Utilização do teste de Levene, cuja H0 é a de que as variâncias sejam iguais. Espera-se não rejeitar a hipótese nula.</p><p>### Teste de Levene: pLucro ~ tipo</p><p>```{r}</p><p>Tapply(pLucro ~ tipo, var, na.action=na.omit, data=lucratividade)</p><p># variances by group</p><p>leveneTest(pLucro ~ tipo, data=lucratividade, center="median")</p><p>```</p><p># Teste F Anova de fator único</p><p>Problema de pesquisa: Será que o percentual médio de lucro difere entre os tipos de empresas?</br></p><p>H0: O percentual médio de lucro pode ser igual nos quatro diferentes tipos de empresas</br></p><p>H1: O percentual médio de lucro difere entre, pelo menos, dois tipos de empresas</br></p><p></br></p><p>Nível de confiança = 95%</br></p><p>Nível de significância = 5% (rejeita H0 se p-value < 5%)</br></p><p>### Análise de Variância com 1 fator (one-way): pLucro ~ tipo</p><p>```{r}</p><p>AnovaModel.2 <- aov(pLucro ~ tipo, data=lucratividade)</p><p>summary(AnovaModel.2)</p><p>with(lucratividade, numSummary(pLucro, groups=tipo, statistics=c("mean",</p><p>"sd")))</p><p>```</p><p><!-- R Commander Markdown Template --></p><p>Exercício</p><p>=======================</p><p>### Tiago Pessotti</p><p>### `r as.character(Sys.Date())`</p><p>```{r echo=FALSE, include=FALSE}</p><p>knitr::opts_chunk$set(comment=NA, prompt=TRUE, out.width=750, fig.height=8, fig.width=8)</p><p>library(Rcmdr)</p><p>library(car)</p><p>library(RcmdrMisc)</p><p>ChickWeight = ChickWeight</p><p>```</p><p># Verificação de dados extremos</p><p>### Boxplot: weight ~ Diet</p><p>```{r}</p><p>Boxplot(weight ~ Diet, data=ChickWeight, id=list(method="y"))</p><p>```</p><p># Premissas:</p><p>## Normalidade = Shapiro Test (H0: distribuição normal)</p><p>### Normality Test: weight ~ Diet</p><p>```{r}</p><p>normalityTest(weight ~ Diet, test="shapiro.test", data=ChickWeight)</p><p>```</p><p>### Density Plot: weight~Diet</p><p>```{r}</p><p>densityPlot(weight~Diet, data=ChickWeight, bw=bw.SJ, adjust=1, kernel=dnorm,</p><p>method="adaptive")</p><p>```</p><p>## Homogeneidade = Teste de Levene (H0: variâncias são iguais)</p><p>### Teste de Levene: weight ~ Diet</p><p>```{r}</p><p>Tapply(weight ~ Diet, var, na.action=na.omit, data=ChickWeight)</p><p># variances by group</p><p>leveneTest(weight ~ Diet, data=ChickWeight, center="median")</p><p>```</p><p># Hipóteses</p><p>H0: o peso médio dos pintos (weight) pode ser igual nos quatro tipos de dieta (Diet);</br></p><p>H1: o peso médio dos pintos (weight) difere entre, pelo menos, dois dos quatro tipos de dieta (Diet).</br></p><p>```{r echo=FALSE}</p><p>library(mvtnorm, pos=18)</p><p>```</p><p>```{r echo=FALSE}</p><p>library(survival, pos=18)</p><p>```</p><p>```{r echo=FALSE}</p><p>library(MASS, pos=18)</p><p>```</p><p>```{r echo=FALSE}</p><p>library(TH.data, pos=18)</p><p>```</p><p>```{r echo=FALSE}</p><p>library(multcomp, pos=18)</p><p>```</p><p>```{r echo=FALSE}</p><p>library(abind, pos=23)</p><p>```</p><p># Análise de Variância com 1 fator (one-way): weight ~ Diet</p><p>```{r}</p><p>AnovaModel.1 <- aov(weight ~ Diet, data=ChickWeight)</p><p>summary(AnovaModel.1)</p><p>with(ChickWeight, numSummary(weight, groups=Diet, statistics=c("mean",</p><p>"sd")))</p><p>oneway.test(weight ~ Diet, data=ChickWeight) # Welch test</p><p>```</p><p>TRATAMENTO DE EXCESSOES (OUTLIERS)</p><p>library("DescTools")</p><p>Diet1 = subset(ChickWeight, Diet == 1)</p><p>Diet1$weight = Winsorize(Diet1$weight)</p><p>Diet2 = subset(ChickWeight, Diet == 2)</p><p>Diet2$weight = Winsorize(Diet2$weight)</p><p>Diet3 = subset(ChickWeight, Diet == 3)</p><p>Diet3$weight = Winsorize(Diet3$weight)</p><p>Diet4 = subset(ChickWeight, Diet == 4)</p><p>Diet4$weight = Winsorize(Diet4$weight)</p><p>ChickWeight = rbind(Diet1, Diet2, Diet3, Diet4)</p><p>Neste script, a base de dados ChickWeight foi subdividida em outras 4 bases de dados com a função subset, cada uma contendo um dos grupos da variável Diet. Depois de tratar os dados discrepantes com a função Winsorize, as 4 bases de dados foram unidas novamente com a função rbind.</p><p>Clique aqui para conferir o script do RMarkdown com o tratamento dos outliers.</p><p>Ranqueamento dos resultados</p><p>ChickWeight = ChickWeight</p><p>summary(aov(weight ~ Diet, data=ChickWeight))</p><p># Como ranquear as médias dos tratamentos?</p><p># Tukey-Kramer = quando o número de observações for o mesmo em todos os grupos</p><p>TukeyHSD(aov(weight ~ Diet, data=ChickWeight), ordered = TRUE,</p><p>conf.level = 0.95)</p><p># Método de Bonferroni = quando o número de observações difere entre os grupos</p><p>pairwise.t.test(ChickWeight$weight, ChickWeight$Diet,</p><p>p.adjust.method = "bonferroni")</p><p>Depois que você fizer o teste ANova de múltiplos fatores, seguindo as instruções da aula, utilize este script para fazer o mesmo teste utilizando apenas a variável independente "fornec", e para fazer o ranquemaneto dos resultados:</p><p>aov(resist ~ fornec, data=paraquedas)</p><p>tapply(paraquedas$resist, paraquedas$fornec, mean)</p><p>TukeyHSD(aov(resist ~ fornec, data=paraquedas), ordered = TRUE, conf.level = 0.95)</p><p>A função tapply vai mostrar a resistência média dos paraquedas para cada fornecedor de matéria-prima. Em ordem decrescente de resistência estão os fornecedores 2 (com média = 23,90), 3, 4 e 1 (este último com resistência = 18,97).</p><p>O procedimento de Tukey Kramer vai indicar entre quais fornecedores a resistência média pode ser considerada diferente. Observe que, ao nível de significância de 5%, podemos rejeitar a hipótese de que a resistência média dos fornecedores 2 e 1 e dos fornecedores 3 e 1 sejam iguais, ou seja, há evidência da diferença entre as médias desses fornecedores (p-value = 0,0019926 e 0,0444506, respectivamente)</p><p>No mercado de Bolsa de Valores, investidores costumam utilizar o múltiplo de mercado chamado PVPA para tentar comprar ações de empresas que podem proporcionar melhores retornos no futuro.</p><p>O indicador PVPA é resultado da divisão entre o Preço da Ação e o Valor do Patrimônio Líquido por Ação da mesma empresa. Um PVPA igual a 1 significa que o valor da empresa (preço da ação) é igual ao valor do seu patrimônio líquido.</p><p>Um estudo levantou uma amostra do PVPA e do retorno após um ano da compra daquela ação. As 74 observações coletadas estão na base de dados "pvpa", disponível neste link. As variáveis selecionadas para esta atividade são:</p><p>grupo: indicador PVPA organizado em quatro grupos (menor que 1, entre 1 e 2, entre 2 e 3, e maior que 3);</p><p>ret1ano: retorno obtido após 1 ano, por quem comprou a ação daquela empresa no primeiro dia útil do ano e a vendeu no último dia útil do mesmo ano.</p><p>Antes de iniciar a atividade avaliativa, você deve importar a base de dados "pvpa" no R.</p><p>Valor da atividade avaliativa: 10 pontos.</p><p>Você pode tentar fazer essa atividade avaliativa duas vezes, e será mantida a nota mais alta.</p><p>Bom trabalho!</p><p>(exemplo proporções de usuários apenas de correios, apenas de internet e de ambos)</p><p>proporções três tipos de usuários devem ser iguais</p><p>pelo menos duas dessas proporções diferem da expectativa</p><p>resumo, distribuição de frequência</p><p>(exemplo: sexo educação satisfação e três tipos de usuários de cupons)</p><p>duas variáveis categóricas são independentes</p><p>as duas variáveis categóricas são dependentes</p><p>tabela de contingencia, dupla entrada</p><p>repetir o teste duas variaveis</p><p>teste para amostras relacionadas</p><p>Exemplo coca guara</p><p>tabela = table (blindTeste$Antes, blindTeste$Depois)</p><p>tabela</p><p>mcnemar.test(tabela)</p><p>A base de dados "pesqIntencoes", disponível neste link, contém os dados de uma pesquisa de intenção de voto feita com uma amostra de 367 pessoas, antes e depois de um debate político entre dois candidatos na TV aberta. As pessoas que participaram da pesquisa foram selecionadas aleatoriamente, e informaram seu nível de escolaridade e renda antes do debate. As mesmas pessoas foram consultadas novamente depois do debate.</p><p>As variáveis da base de dados são:</p><p>nivelEsc: nível de escolaridade</p><p>renda: renda, medida em salários mínimos (SM)</p><p>antes: a intenção de voto antes do debate (Candidato1 ou Candidato2)</p><p>depois: a intenção de voto após o debate (Candidato1 ou Candidato2)</p><p>Antes de iniciar a atividade avaliativa, você deve importar a base de dados "pesqItencoes" no R.</p><p>Valor da atividade avaliativa: 10 pontos.</p><p>Você pode tentar fazer essa atividade avaliativa duas vezes, e será mantida a nota mais alta.</p><p>Bom trabalho!</p><p>Regressão linear simples</p><p>Correlação:</p><p>Pressupostos da regressão linear</p><p>Instale o pacote lmtest executando a seguinte função</p><p>install.packages("lmtest")</p><p>Script produzido durante a aula</p><p># Pressupostos para a regressão linear</p><p># Resíduo: é a diferença entre o valor estimado para a variável dependente</p><p># e o seu valor real.</p><p>mtcars = mtcars</p><p>regressao = lm(mpg ~ cyl, data = mtcars)</p><p>residuos = regressao$residuals</p><p>summary(regressao)</p><p># Autonomia(y) = 37,8846 – 2,8758 CYL + erro</p><p># Linearidade</p><p>cor.test(x=mtcars$cyl, y=mtcars$mpg, method = "pearson")</p><p># Igualdade das variâncias (homoscedasticidade)</p><p>library(lmtest)</p><p>bptest(regressao)</p><p># Normalidade</p><p>shapiro.test(regressao$residuals)</p><p># Autocorrelação</p><p>library(DescTools)</p><p>DurbinWatsonTest(regressao)</p><p># Outliers</p><p>Outlier(mtcars$mpg)</p><p>mtcars$mpg = Winsorize(mtcars$mpg)</p><p>Atividade avaliativa 8</p><p>Analistas do mercado de capitais são profissionais que emitem recomendações de compra ou de venda de ações que podem ser utilizadas por diversos interessados. Há vários estudos sobre os analistas, entre eles aqueles que buscam identificar variáveis que influenciam na acurácia de suas recomendações.</p><p>Um desses estudos pode ser conferido, na íntegra, nesta página da internet. Parte da base de dados utilizada no estudo está disponível no arquivo "analistasMC", disponível neste link.</p><p>Esta atividade utilizará as seguintes variáveis:</p><p>· ACUR: medida de acurácia dos analistas - quanto mais próxima de zero, menos os analistas erram em suas previsões;</p><p>· logVM: logarítimo do valor de mercado da empresa, como medida do seu tamanho.</p><p>Antes de iniciar a atividade avaliativa, você deve importar a base de dados "analistasMC" no R.</p><p>Valor da atividade avaliativa: 10 pontos.</p><p>Você pode tentar fazer essa atividade avaliativa duas vezes, e será mantida a nota mais alta.</p><p>Bom trabalho!</p><p>https://fucape.br/producao-academica-1/impacto-da-convergencia-as-normas-internacionais-de-contabilidade-sobre-a-acuracia-dos-analistas-do-mercado-de-capitais-brasileiros-2/</p><p>image1.png</p><p>image2.png</p><p>image3.png</p><p>image4.png</p>