Tarefa 2

Author

Caique de Jesus Portela

Instruções

Para esta tarefa, utilize o objeto dados criado a partir dp banco de dados ppc400.csv. Utilize o codebook disponível neste link para explorar as variáveis.

Exercício 1

As variáveis de jornalistaaté advogados apresentam as notas dadas para indicar o grau de confiança em cada um dos profissionais. Para cada uma das variáveis calcule:

  1. Qual profissional tem a maior média de confiança?
dados <- read.csv2("ppc400.csv")

df_jor.advgd <- dplyr::select(dados,jornalistas:advogados)
df_jor.advgd.numeric <- data.frame(lapply(df_jor.advgd,function(x){as.numeric(x)}))

df_jor.advgd.numeric <- na.omit(df_jor.advgd.numeric)

                                         
var.medias <- colMeans(df_jor.advgd.numeric)
print(var.medias)
   jornalistas        medicos cient_emp_priv     religiosos  cient_uni_pub 
      5.996997       7.441441       6.570571       5.054054       7.957958 
    rep_ong_ma      politicos    professores cient_uni_priv      militares 
      7.195195       2.291291       8.432432       7.171171       5.657658 
    escritores  cient_emp_pub       artistas         juizes    esportistas 
      7.117117       7.468468       5.486486       5.855856       5.225225 
     advogados 
      5.102102 
media_max<-which.max(var.medias)
print(media_max)
professores 
          8 
  1. Qual profissional tem a menir média de confiança
media_min <-which.min(var.medias)
print(media_min)
politicos 
        7 
  1. Para qual profisisonal a mediana de confiança é maior?
var.mediana <- apply(df_jor.advgd.numeric, 2,median)
print(var.mediana)
   jornalistas        medicos cient_emp_priv     religiosos  cient_uni_pub 
             6              8              7              5              8 
    rep_ong_ma      politicos    professores cient_uni_priv      militares 
             8              1              9              8              6 
    escritores  cient_emp_pub       artistas         juizes    esportistas 
             7              8              5              6              5 
     advogados 
             5 
mediana_max<- which.max(var.mediana)
print(mediana_max)
professores 
          8 
  1. Qual profissisonal têm o maior desvio padrão em relação à confiança?
var.sd<- apply(df_jor.advgd.numeric, 2, sd)
print(var.sd)
   jornalistas        medicos cient_emp_priv     religiosos  cient_uni_pub 
      2.384057       2.043288       2.306089       2.693716       1.832941 
    rep_ong_ma      politicos    professores cient_uni_priv      militares 
      2.268374       1.787460       1.620399       2.060269       2.640608 
    escritores  cient_emp_pub       artistas         juizes    esportistas 
      2.177675       2.084740       2.458811       2.531180       2.567233 
     advogados 
      2.473065 
desviopadrao_max <- which.max(var.sd)
print(desviopadrao_max)
religiosos 
         4 
  1. Quais profissionais têm notas com distribuição normal?
var.dnorm<- apply(df_jor.advgd.numeric, 2, function(x){shapiro.test(x)})

print(var.dnorm)
$jornalistas

    Shapiro-Wilk normality test

data:  x
W = 0.9591, p-value = 5.024e-08


$medicos

    Shapiro-Wilk normality test

data:  x
W = 0.9053, p-value = 1.371e-13


$cient_emp_priv

    Shapiro-Wilk normality test

data:  x
W = 0.94182, p-value = 3.704e-10


$religiosos

    Shapiro-Wilk normality test

data:  x
W = 0.93484, p-value = 6.621e-11


$cient_uni_pub

    Shapiro-Wilk normality test

data:  x
W = 0.84832, p-value < 2.2e-16


$rep_ong_ma

    Shapiro-Wilk normality test

data:  x
W = 0.89597, p-value = 2.572e-14


$politicos

    Shapiro-Wilk normality test

data:  x
W = 0.74941, p-value < 2.2e-16


$professores

    Shapiro-Wilk normality test

data:  x
W = 0.8438, p-value < 2.2e-16


$cient_uni_priv

    Shapiro-Wilk normality test

data:  x
W = 0.91658, p-value = 1.215e-12


$militares

    Shapiro-Wilk normality test

data:  x
W = 0.95068, p-value = 4.029e-09


$escritores

    Shapiro-Wilk normality test

data:  x
W = 0.93468, p-value = 6.364e-11


$cient_emp_pub

    Shapiro-Wilk normality test

data:  x
W = 0.89473, p-value = 2.078e-14


$artistas

    Shapiro-Wilk normality test

data:  x
W = 0.96217, p-value = 1.36e-07


$juizes

    Shapiro-Wilk normality test

data:  x
W = 0.9472, p-value = 1.532e-09


$esportistas

    Shapiro-Wilk normality test

data:  x
W = 0.95316, p-value = 8.213e-09


$advogados

    Shapiro-Wilk normality test

data:  x
W = 0.95586, p-value = 1.84e-08
# Utilizando o teste de normalidade "Shapiro Wilk", nota-se que, todas as variáveis possuem p-value menor que a tolerância de 5%, o que mostra que todas elas não possuem distribuição normal.
  1. Faça um histograma com a distribuição de notas do profissional com a maior média.
hist(df_jor.advgd.numeric$professores, xlab = "Notas", ylab = "Frequência", main = "Histograma das notas dos professores")

  1. Faça um gráfico de densidade com o profissional com a menor média.
library(tidyverse)
Warning: pacote 'ggplot2' foi compilado no R versão 4.4.1
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ggplot(df_jor.advgd.numeric, aes(x = politicos)) + geom_density(color = "darkblue")

  1. Faça um boxplot comparando os profissionais com menor e com maior média.
boxplot(df_jor.advgd.numeric$politicos,df_jor.advgd.numeric$professores, names = c("Políticos","Professores"), xlabs = "Variáveis", ylab = "Confiança", col = c("blue", "red"))

Exercício 2

As variáveis de int_alimentacao até int_celebridades representam as notas, de 1 a 10, para o grau de interesse dos respondentes do questionário em relação à alguns temas: quanto maior a nota, maior o interesse. Já as variáveis de inf_alimentacao até inf_celebridades indicam o quanto cada respondente se informa sobre cada um dos temas: quanto maior a nota, mais o respodente busca se informar sobre o tema. Diante disso, responda as seguintes questões:

  1. Qual tema tem a maior média de interesse e qual tem a maior média de busca por informação? Quais as medianas e desvios padrão desses temas?
# Interesse nos temas:

df_interesse <- dplyr::select(dados, int_alimentacao:int_celebridades)
View(df_interesse)

df_interesse.nona<- na.omit(df_interesse)

df_interesse.integer<- data.frame (lapply(df_interesse.nona,function(x){as.integer(x)}))


medias_interesse<-colMeans(df_interesse.integer)

which.max(medias_interesse)
int_alimentacao 
              1 
# Busca por informação sobre os temas

df_informacao <- dplyr::select(dados, inf_alimentacao:inf_celebridades)

df_informacao.nona<- na.omit(df_informacao)

df_informacao.integer <- data.frame(lapply(df_informacao.nona,function(x){as.integer(x)}))

medias_informação <- colMeans(df_informacao.integer)

which.max(medias_informação)
inf_med_saude 
            3 
# Maior média de interesse: Alimentação; 
# Maior média de busca por infomação: Saúde.

# Mediana e desvio padrão dessas variáveis (Interesse e Informação) respectivamente:


median(df_interesse.integer$int_alimentacao)
[1] 9
sd(df_interesse.integer$int_alimentacao)
[1] 2.028729
median(df_informacao.integer$inf_med_saude)
[1] 8
sd(df_informacao.integer$inf_med_saude)
[1] 2.212146
  1. Faça um histograma que mostre a distribuição das notas do tema de maior interesse e outro para o tema de maior busca.
hist(df_interesse.integer$int_alimentacao, main = "Histograma das notas para o tema: Alimentação ", xlab = "Notas", ylab = "Quantidade")

hist(df_informacao.integer$inf_med_saude, main = "Histograma das notas para o tema: Medicina e Saúde", xlab = "Notas", ylab = "Quantidade")

  1. Faça dois gráficos de barras, um para as médias de interesse e outro para as médias de informação para cada tema.
ggplot(df_interesse.integer, aes(x = int_alimentacao )) + geom_bar() + labs(x = "Notas", y = "Média por nota", main = "Média de interesse para Alimentação")

ggplot(df_informacao.integer, aes(x = inf_med_saude )) + geom_bar() + labs(x = "Notas", y = "Média por nota", main = "Média de informação para Medicina e Saúde")