# ==========================================
# 1. Gráfico de Barras
# ==========================================
# Dados com nomes quebrados em duas linhas
categorias <- c("Ciência\nde Dados",
"Ciências\nde Computação",
"Engenharia\nde Computação",
"Estatística",
"Estatística\ne Ciência de Dados",
"Matemática",
"Matemática Aplicada\ne Computação Científica",
"Sistemas\nde Informação")
valores <- c(90, 522, 331, 6, 207, 153, 110, 274)
# Tabela
tabela_freq <- data.frame(Curso = categorias, Frequencia = valores)
# Gráfico de Barras
frequencias <- tabela_freq$Frequencia
names(frequencias) <- tabela_freq$Curso
par(mar=c(10, 4, 4, 2)) # Margem inferior ajustada para caber os nomes
barplot(height = frequencias,
col = "lightblue",
main = "Gráfico de Barras",
names.arg = names(frequencias),
las = 2,
ylab = "Frequência",
cex.names = 0.8)

# ==========================================
# 2. Gráfico de Pizza
# ==========================================
# Dados (sem quebra de linha para o gráfico de pizza)
categorias_pizza <- c("Ciência de Dados",
"Ciências de Computação",
"Engenharia de Computação",
"Estatística",
"Estatística e Ciência de Dados",
"Matemática",
"Matemática Aplicada e Computação Científica",
"Sistemas de Informação")
# Rótulos com porcentagens
total <- sum(valores)
porcentagens <- round(valores / total * 100, 1)
rotulos_pizza <- paste(categorias_pizza, "-", porcentagens, "%")
par(mar = c(8, 4, 4, 2)) # Margem inferior ajustada
pie(valores,
labels = rotulos_pizza,
col = rainbow(length(valores)),
main = "Distribuição por Curso")

# ==========================================
# 3. Diagrama de Pareto (usando biblioteca base do R)
# ==========================================
# Tabela ordenada por frequência decrescente
df <- data.frame(Curso = categorias, Frequencia = valores)
df <- df[order(-df$Frequencia), ]
df$Porcentagem <- round(df$Frequencia / sum(df$Frequencia) * 100, 1)
df$Acumulada <- cumsum(df$Porcentagem)
par(mar = c(9, 4, 4, 4)) # Margem inferior + margem à direita
barplot(df$Frequencia,
names.arg = df$Curso,
col = "skyblue",
las = 2,
main = "Diagrama de Pareto",
ylab = "Frequência",
cex.names = 0.75,
ylim = c(0, sum(df$Frequencia) + 5))
par(new = TRUE)
plot(1:nrow(df),
df$Acumulada,
type = "b",
pch = 19,
col = "red",
axes = FALSE,
xlab = "",
ylab = "",
ylim = c(0, 100))
axis(4, at = seq(0, 100, 10), col.axis = "red", col = "red")
mtext("Porcentagem Acumulada (%)", side = 4, line = 3, col = "red")

# ==========================================
# 4. Diagrama de Pareto (usando o pacote qcc)
# ==========================================
# Instale o pacote se não tiver: install.packages('qcc')
library(qcc)
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
# Organizando os dados para a função pareto.chart
valores_nomeados <- valores
names(valores_nomeados) <- categorias_pizza
par(mai = c(2, 0, 0, 0), xpd = TRUE) # Ajuste da margem
pareto.chart(valores_nomeados,
ylab = "Quantidade de Alunos Matriculados",
ylab2 = "Frequência Acumulada",
col = heat.colors(length(valores_nomeados)),
main = "Diagrama de Pareto - Quantidade de Alunos Matriculados por curso do ICMC",
cumperc = seq(0, 100, by = 10))

##
## Pareto chart analysis for valores_nomeados
## Frequency Cum.Freq.
## Ciências de Computação 522.0000000 522.0000000
## Engenharia de Computação 331.0000000 853.0000000
## Sistemas de Informação 274.0000000 1127.0000000
## Estatística e Ciência de Dados 207.0000000 1334.0000000
## Matemática 153.0000000 1487.0000000
## Matemática Aplicada e Computação Científica 110.0000000 1597.0000000
## Ciência de Dados 90.0000000 1687.0000000
## Estatística 6.0000000 1693.0000000
##
## Pareto chart analysis for valores_nomeados
## Percentage Cum.Percent.
## Ciências de Computação 30.8328411 30.8328411
## Engenharia de Computação 19.5510927 50.3839338
## Sistemas de Informação 16.1842882 66.5682221
## Estatística e Ciência de Dados 12.2268163 78.7950384
## Matemática 9.0372120 87.8322504
## Matemática Aplicada e Computação Científica 6.4973420 94.3295924
## Ciência de Dados 5.3160071 99.6455995
## Estatística 0.3544005 100.0000000