library(plotly)Teste Técnico Solvis
Questão 1
Q: O que você tem a dizer sobre o gráfico abaixo? Quais análises e conclusões você pode extrair dele? Detalhe sua linha de pensamento que levou à essa análise.
R: Ambos eventos - mortes por afogamento e consumo de sorvete - apresentam maiores valores em meses que contêm maiores temperaturas na Espanha. As atividades relacionadas a esses eventos (nadar e consumo de sorvete) são mais comuns em dias de calor, assim, aumentando a exposição ao risco, no caso dos afogamentos, e a quantidade do consumo de sorvetes. Por mais que esses eventos aparentam ter forte correlação, não há uma relação causal entre eles.
Questão 2
Q: Qual é o resultado das funções abaixo? Explique cada uma das etapas do código.
R: O código resulta em um gráfico de barras agrupadas. Suas etapas estão explicadas a seguir.
Carrega o pacote plotly.
Cria três vetores: o primeiro contêm os tipos de animais e os outros contêm as quantidades de cada animal em dois zoológicos.
Animals <- c("giraffes", "orangutans", "monkeys")
SF_Zoo <- c(20, 14, 23)
LA_Zoo <- c(12, 18, 29)Agrupa os vetores em um data.frame de três colunas.
data <- data.frame(Animals, SF_Zoo, LA_Zoo)Cria o gráfico fig a partir da função plot_ly(). O data.frame criado anteriormente contêm os dados de entrada. O gráfico criado é o de barras, definido pelo argumento type. No eixo x está presente os três tipos de animais e no eixo y a quantidade de cada tipo, com o nome definido por name.
fig <- plot_ly(data, x = ~Animals, y = ~SF_Zoo, type = "bar", name = "SF Zoo")Adiciona um novo conjunto de barras através da função add_trace(), utilizando o mesmo eixo x e dimensão y baseada na variável LA_Zoo.
fig <- fig %>% add_trace(y = ~LA_Zoo, name = "LA Zoo")Adiciona um título para o eixo y através do argumento title e modifica a posição das barras para “group”, deixando-as lado a lado. Por fim, fig é exibido.
fig <- fig %>% layout(yaxis = list(title = "Count"), barmode = "group")
figQuestão 3
Q: Crie uma visualização que ache adequada para o dados abaixo:
R: Optou-se por criar uma série temporal.
library(tidyverse)
dados_teste <- read_csv2("data/dados_teste.csv")
dados_teste <-
dados_teste %>%
mutate(Mes = factor(
Mes,
levels = c(
"janeiro", "fevereiro", "março", "abril", "maio", "junho",
"julho", "agosto", "setembro", "outubro", "novembro", "dezembro"
)
))
time_series <-
ggplot(
dados_teste,
aes(x = Mes, y = Valor, group = Grupo, color = Grupo)
) +
geom_line() +
geom_point() +
theme_minimal() +
labs(x = "Mês")
ggplotly(time_series)Questão 4
Q: Explique a sequência de ações abaixo e o que você compreende da mesma. É importante que a explicação seja didática, como se estivesse explicando para uma pessoa leiga.
R: Em resumo, a função apresentada converte números em base decimal para números em base binária. A função trabalha na seguinte ordem:
- A função é ativada com o click da “bandeira verde”.
- A variável
resultadoé criada e associada a um valor vazio. - A função pede um número e a resposta dada pelo usuário é armazenada na variável com o nome
numero. - Uma condição é definida: caso
numeroseja menor do que 256, a função segue para um processo de repetição. Casonumeronão seja menor do que 256, a função associaresultadoà mensagem “Número muito grande”. - Dentro do processo de repetição ocorre três passos, repetidos oito vezes:
A variável
indicadoré criada e seu valor é a sobra da divisão denumeropor dois. Assim,indicadorsó pode ser0ou1, dependendo senumeroé par ou ímpar.Em seguida,
resultadoé associado a uma união deindicadorcom oresultadoanterior, que no primeiro momento é um valor vazio.No fim,
numeroé transformado para a divisão de si mesmo por dois, sempre arredondando para baixo, caso não seja par.
- No fim da função o valor de
resultadoé retornado e o processo de cálculo se encerra. Casonumeroinserido pelo usuário seja menor do que 256, o resultado é um número em base binária de oito algarismos.
Qual o motivo de se fazer oito repetições e só aceitar números menores do que 256? Oito repetições resulta em um número de oito algarismos, assim, a quantidade de repetições é o que controla os algarismos do resultado. Números na base binária com oito algarismos só conseguem representar números da base decimal entre 0 e 255, no caso de números inteiros positivos.