1) Importação dos dados

# Criando o data frame com os dados fornecidos
dados <- data.frame(
  Funcionario = 1:36,
  Est.civil = c("solteiro", "casado", "casado", "solteiro", "solteiro", "casado", 
                "solteiro", "solteiro", "casado", "solteiro", "casado", "solteiro", 
                "solteiro", "casado", "casado", "solteiro", "casado", "casado", 
                "solteiro", "solteiro", "casado", "solteiro", "solteiro", "casado", 
                "casado", "casado", "solteiro", "casado", "casado", "casado", 
                "solteiro", "casado", "casado", "solteiro", "casado", "casado"),
  Inst = c("1o Grau", "1o Grau", "1o Grau", "2o Grau", "1o Grau", "1o Grau", 
           "1o Grau", "1o Grau", "2o Grau", "2o Grau", "2o Grau", "1o Grau", 
           "2o Grau", "1o Grau", "2o Grau", "2o Grau", "2o Grau", "1o Grau", 
           "Superior", "2o Grau", "2o Grau", "2o Grau", "1o Grau", "Superior", 
           "2o Grau", "2o Grau", "1o Grau", "2o Grau", "2o Grau", "2o Grau", 
           "Superior", "2o Grau", "Superior", "Superior", "2o Grau", "Superior"),
  Filhos = c(NA, 1, 2, NA, NA, 0, NA, NA, 1, NA, 2, NA, NA, 3, 0, NA, 1, 2, 
             NA, NA, 1, NA, NA, 0, 2, 2, NA, 0, 5, 2, NA, 1, 3, NA, 2, 3),
  Salario = c(4, 4.56, 5.25, 5.73, 6.26, 6.66, 6.86, 7.39, 7.59, 7.44, 8.12, 
              8.46, 8.74, 8.95, 9.13, 9.35, 9.77, 9.8, 10.53, 10.76, 11.06, 
              11.59, 12, 12.79, 13.23, 13.6, 13.85, 14.69, 14.71, 15.99, 
              16.22, 16.61, 17.26, 18.75, 19.4, 23.3),
  Anos = c(26, 32, 36, 20, 40, 28, 41, 43, 34, 23, 33, 27, 37, 44, 30, 38, 
           31, 39, 25, 37, 30, 34, 41, 26, 32, 35, 46, 29, 40, 35, 31, 36, 
           43, 33, 48, 42),
  Meses = c(3, 10, 5, 10, 7, 0, 0, 4, 10, 6, 6, 11, 5, 2, 5, 8, 7, 7, 8, 4, 
            9, 2, 0, 1, 5, 0, 7, 8, 6, 10, 5, 4, 7, 7, 11, 2),
  Regiao = c("interior", "capital", "capital", "outro", "outro", "interior", 
             "interior", "capital", "capital", "outro", "interior", "capital", 
             "outro", "outro", "interior", "outro", "capital", "outro", 
             "interior", "interior", "outro", "capital", "outro", "outro", 
             "interior", "outro", "outro", "interior", "interior", "capital", 
             "outro", "interior", "capital", "capital", "capital", "interior")
)

2) Análise da Variável Estado Civil

# Tabelas de frequência
freq_abs_est <- table(dados$Est.civil)
freq_rel_est <- round(prop.table(freq_abs_est)*100, 2)

# Exibir tabelas formatadas
kable(data.frame(
  "Estado Civil" = names(freq_abs_est),
  "Frequência Absoluta" = as.numeric(freq_abs_est),
  "Frequência Relativa (%)" = as.numeric(freq_rel_est)),
  caption = "Distribuição por Estado Civil") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Distribuição por Estado Civil
Estado.Civil Frequência.Absoluta Frequência.Relativa….
casado 20 55.56
solteiro 16 44.44
# Gráficos
barplot(freq_abs_est, main="Frequência Absoluta - Estado Civil", 
        ylab="Frequência", col=c("lightblue", "pink"))

pie(freq_abs_est, main="Distribuição - Estado Civil", 
    col=c("lightblue", "pink"))

3) Análise da Variável Grau de Instrução

# Tabelas de frequência
freq_abs_inst <- table(dados$Inst)
freq_rel_inst <- round(prop.table(freq_abs_inst)*100, 2)

# Exibir tabela formatada
kable(data.frame(
  "Grau de Instrução" = names(freq_abs_inst),
  "Frequência Absoluta" = as.numeric(freq_abs_inst),
  "Frequência Relativa (%)" = as.numeric(freq_rel_inst)),
  caption = "Distribuição por Grau de Instrução") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Distribuição por Grau de Instrução
Grau.de.Instrução Frequência.Absoluta Frequência.Relativa….
1o Grau 12 33.33
2o Grau 18 50.00
Superior 6 16.67
# Gráficos
barplot(freq_abs_inst, main="Frequência Absoluta - Instrução", 
        ylab="Frequência", col=rainbow(3))

pie(freq_abs_inst, main="Distribuição - Instrução", col=rainbow(3))

4) Análise da Variável Número de Filhos

# Tabelas de frequência (considerando apenas valores não-NA)
filhos_sem_na <- dados$Filhos[!is.na(dados$Filhos)]
freq_abs_filhos <- table(filhos_sem_na)
freq_rel_filhos <- round(prop.table(freq_abs_filhos)*100, 2)
freq_acum_filhos <- cumsum(freq_rel_filhos)

# Exibir tabela formatada
kable(data.frame(
  "Número de Filhos" = names(freq_abs_filhos),
  "Frequência Absoluta" = as.numeric(freq_abs_filhos),
  "Frequência Relativa (%)" = as.numeric(freq_rel_filhos),
  "Frequência Acumulada (%)" = as.numeric(freq_acum_filhos)),
  caption = "Distribuição do Número de Filhos") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Distribuição do Número de Filhos
Número.de.Filhos Frequência.Absoluta Frequência.Relativa…. Frequência.Acumulada….
0 4 20 20
1 5 25 45
2 7 35 80
3 3 15 95
5 1 5 100
# Gráficos
barplot(freq_rel_filhos, main="Frequência Relativa - Filhos", 
        ylab="Proporção (%)", col="lightgreen")

plot(freq_acum_filhos, type="b", main="Frequência Relativa Acumulada - Filhos", 
     ylab="Proporção Acumulada (%)", xlab="Número de Filhos", col="blue")

5) Análise da Variável Salário

# Valores máximo, mínimo e número de classes (usando regra de Sturges)
max_salary <- max(dados$Salario)
min_salary <- min(dados$Salario)
n_classes <- ceiling(1 + 3.322 * log10(length(dados$Salario)))

# Exibir informações
kable(data.frame(
  "Mínimo" = min_salary,
  "Máximo" = max_salary,
  "Número de Classes" = n_classes),
  caption = "Estatísticas Básicas do Salário") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Estatísticas Básicas do Salário
Mínimo Máximo Número.de.Classes
4 23.3 7
# Histograma
hist(dados$Salario, breaks=n_classes, main="Histograma - Salário", 
     xlab="Salário", ylab="Frequência", col="orange")

6) Cruzamento entre Estado Civil e Grau de Instrução

# Tabela de contingência
tab_cont <- table(dados$Est.civil, dados$Inst)

# Exibir tabela formatada
kable(tab_cont, caption = "Tabela de Contingência: Estado Civil x Grau de Instrução") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE) %>%
  add_header_above(c(" " = 1, "Grau de Instrução" = 3))
Tabela de Contingência: Estado Civil x Grau de Instrução
Grau de Instrução
1o Grau 2o Grau Superior
casado 5 12 3
solteiro 7 6 3
# Gráficos de barras
barplot(tab_cont, beside=TRUE, legend=TRUE, main="Barras Lado a Lado",
        col=c("lightblue", "pink"), args.legend=list(x="topright"))

barplot(tab_cont, legend=TRUE, main="Barras Sobrepostas",
        col=c("lightblue", "pink"), args.legend=list(x="topright"))

7) Relação entre Grau de Instrução e Salário

# Box-plot
boxplot(Salario ~ Inst, data=dados, main="Boxplot Salário por Instrução",
        xlab="Grau de Instrução", ylab="Salário", col=rainbow(3))

# Média e desvio padrão
media_salario <- tapply(dados$Salario, dados$Inst, mean)
dp_salario <- tapply(dados$Salario, dados$Inst, sd)

# Exibir tabela formatada
kable(data.frame(
  "Grau de Instrução" = names(media_salario),
  "Média Salarial" = round(media_salario, 2),
  "Desvio Padrão" = round(dp_salario, 2)),
  caption = "Estatísticas Salariais por Grau de Instrução") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Estatísticas Salariais por Grau de Instrução
Grau.de.Instrução Média.Salarial Desvio.Padrão
1o Grau 1o Grau 7.84 2.96
2o Grau 2o Grau 11.53 3.72
Superior Superior 16.48 4.50

8) Cálculo da Idade

dados$Idade <- dados$Anos + dados$Meses/12

9) Relação entre Salário e Idade

# Gráfico de dispersão
plot(dados$Idade, dados$Salario, main="Salário vs Idade", 
     xlab="Idade (anos)", ylab="Salário", pch=19, col="darkblue")

# Correlação
correlacao <- cor(dados$Salario, dados$Idade)

# Exibir correlação
kable(data.frame(
  "Correlação entre Salário e Idade" = round(correlacao, 4)),
  caption = "Medida de Correlação") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Medida de Correlação
Correlação.entre.Salário.e.Idade
0.3651

10) Estatísticas Descritivas do Salário

# Funções estatísticas
media <- mean(dados$Salario)
variancia <- var(dados$Salario)
desvio <- sd(dados$Salario)
mediana <- median(dados$Salario)
quantis <- quantile(dados$Salario, probs=c(0.25, 0.5, 0.75))

# Exibir estatísticas formatadas
kable(data.frame(
  "Média" = round(media, 2),
  "Variância" = round(variancia, 2),
  "Desvio Padrão" = round(desvio, 2),
  "Mediana" = round(mediana, 2),
  "1º Quartil" = round(quantis[1], 2),
  "3º Quartil" = round(quantis[3], 2)),
  caption = "Estatísticas Descritivas do Salário") %>%
  kable_styling(bootstrap_options = "striped", full_width = FALSE)
Estatísticas Descritivas do Salário
Média Variância Desvio.Padrão Mediana X1º.Quartil X3º.Quartil
25% 11.12 21.04 4.59 10.16 7.55 14.06