Use os dados abaixo para gerar os gráfico. Para o segundo gráfico (barras), use a escala logarítmica e as seguintes cores: “#E6E6E6”, “#666666”. Além disso, os gráficos podem ser organizados com a função layout().
# Para a tabela abaixo que classifica a qualidade de refeição de acordo com categorias de preços
# Criação de um gráfico de barras empilhadas com título, nomes de eixos e legenda
quality <- c("Good", "Very Good", "Excellent")
mealPrice <- c("$10-19", "$20-29", "$30-39", "$40-49")
l1 <- c(53.8, 33.9, 2.6, 0)
l2 <- c(43.6, 54.2, 60.5, 21.4)
l3 <- c(2.6, 11.9, 36.8, 78.6)
dados <- rbind(l1, l2, l3)
barplot(dados,
beside = TRUE,
names.arg = mealPrice,
col = rainbow(3),
ylab = "Percentuais",
ylim = c(0, 100),
main = "Distribuição de Qualidade das Refeições por Faixa de Preço",
xlab = "Preço") # Adiciona o nome "Faixa de Preço" ao eixo X
legend("topleft", legend = quality, col = rainbow(3), pch = 15, title = "Classificação de Qualidade")
Faça o histograma das temperaturas do mês de maio do dataset airquality. No entanto, primeiro converta as temperaturas para graus Celsius através da expressão °C = (°F − 32) / 1.8. Após isso, gere o histograma. Também adicione título, nomes de eixos, cor e curva de densidade.
Crie um gráfico de pizza com a porcentagem da tabela total de vendas por país. Use o dataset abaixo. Inclua a porcentagem de cada fatia, as cores das fatias e o nome do gráfico. Adicionalmente, use o comando legend() para incluir a legenda do gráfico.
Utilize os dados de contagens de insetos em unidades experimentais agrícolas tratados com inseticidas diferentes disponível no R em InsectSprays e construa um boxplot sem a presença dos outliers para os 6 tipos de inseticidas. Coloque título e nomes de eixos adequados. Além disso, as caixas devem ser preenchidas com a cor “yellow”.
Gere os gráficos abaixo a partir dos seguintes dados: monitoringCloudData_0.1.csv, monitoringCloudData_0.5.csv, monitoringCloudData_1.csv e monitoringCloudData_NONE.csv. Esse dados consistem de informações de monitoramento dos recursos de uma máquina virtual. Basicamente, é necessário gerar gráficos de linha do tempo de coleta dos recursos (currentTime) em relação a memória usada (usedMemory). Porém, é necessário ajustar a coluna “currentTime” para que o tempo fique contínuo e a coluna “usedMemory” para que todas as informações fiquem megabytes.Por fim, use a função layout() para organizar os gráficos.
Filtrando os conteúdos com apenas UM país de origem (coluna “country”), utilize o Plotly para obter um gráfico de pizza dos 10 países com mais conteúdo na plataforma.
library(dplyr)
library(plotly)
## Carregando pacotes exigidos: ggplot2
##
## Anexando pacote: 'plotly'
## O seguinte objeto é mascarado por 'package:ggplot2':
##
## last_plot
## O seguinte objeto é mascarado por 'package:stats':
##
## filter
## O seguinte objeto é mascarado por 'package:graphics':
##
## layout
file_path <- "C:/Users/Esdras/Documents/projeto 2va/netflix_titles.csv" # Definir o caminho do arquivo
dados <- read.csv(file_path, stringsAsFactors = FALSE)
dados_filtrados <- dados %>%
filter(!is.na(country) & country != "") %>%
filter(!grepl(",", country))
conteudos_por_pais <- dados_filtrados %>%
count(country) %>%
arrange(desc(n)) %>%
slice(1:10)
Considerando os 10 países descritos na questão anterior, utilize o Plotly para obter uma tabela com as colunas “País” e “Total de conteúdos”. Para tal tabela, é necessário que o cabeçalho esteja com o fundo da célula cinza e a letra em branco, e que todos os textos das células estejam @centralizados.
df <- data.frame(conteudos_por_pais)
colnames(df) <- c("País", "Total de conteúdos")
pais <- as.list(df$País)
total_conteudos <- as.list(df$`Total de conteúdos`)
plot_ly(
type = "table",
header = list(
values = names(df),
fill = list(color = "gray"),
font = list(color = "white"),
align = "center"
),
cells = list(
values = list(pais, total_conteudos),
align = "center"
)
)
Utilizando o Plotly, obtenha um gráfico de linha com pontos (como na imagem abaixo) contendo a quantidade de conteúdo por década do Netflix, onde o eixo X representa as décadas e o eixo Y a quantidade de conteúdo disponível na plataforma (coluna “release_year”). Use uma linha azul para representar as séries e uma linha amarela representando os filmes. (Obs: considerar como década o período que compreende os anos de XXX0 à XXX9, por exemplo, 2000 à 2009)
dados$decada <- as.numeric(substr(dados$release_year, 1, 3)) * 10
dados_por_decada <- dados %>%
filter(!is.na(release_year)) %>%
group_by(decada, type) %>%
summarise(contagem = n()) %>%
ungroup()
## `summarise()` has grouped output by 'decada'. You can override using the
## `.groups` argument.
plot_ly(dados_por_decada, x = ~decada, y = ~contagem, color = ~type,
type = 'scatter', mode = 'lines+markers', colors = c('yellow', 'blue')) %>%
layout(#title = 'Quantidade de Conteúdo por Década na Netflix',
xaxis = list(title = 'Década'),
yaxis = list(title = 'Qnd. Conteúdo'),
legend = list(title = 'Tipo de Conteúdo',
x = 1, y = 0.95))
Utilizando o Plotly, obtenha um gráfico que representa a quantidade de filmes lançados de um determinado gênero entre os anos de 2000 e 2010. Este gráfico deve ser de barras lado-a-lado (como na imagem abaixo), com cada barra representando a quantidade de filmes dos gêneros “Dramas”, “Action & Adventure” e “Comedies” lançados naquele determinado ano. (Obs: Para filmes com múltiplos gêneros, considerar apenas o primeiro descrito na coluna “listed_in”).
filmes20002010 <- dados %>%
filter(type == "Movie", release_year > 2000, release_year < 2010)
filmes20002010$primeiro_genero <- sub(",.*", "", filmes20002010$listed_in)
filmes20002010$primeiro_genero <- factor(filmes20002010$primeiro_genero,
levels = c("Dramas", "Action & Adventure", "Comedies"))
filmes20002010$primeiro_genero <- recode(filmes20002010$primeiro_genero, "Dramas" = "Drama", "Action & Adventure" = "Ação e Aventura", "Comedies" = "Comédia")
dados_agrupados <- filmes20002010 %>%
group_by(release_year, primeiro_genero) %>%
summarise(contagem = n()) %>%
filter(primeiro_genero %in% c("Drama", "Ação e Aventura", "Comédia")) %>%
ungroup()
## `summarise()` has grouped output by 'release_year'. You can override using the
## `.groups` argument.
plot_ly(dados_agrupados, x = ~release_year, y = ~contagem, color = ~primeiro_genero,
type = 'bar', width = 0.5) %>%
layout(title = 'Quantidade de Filmes por Gênero entre 2000 e 2010',
xaxis = list(title = 'Ano de Lançamento'),
yaxis = list(title = 'Qnt. de Lançamentos'),
barmode = 'group',
legend = list(title = 'Gênero'))