Mais Variáveis, várias formas

Js Lucas

16 de abril de 2018

Analisando a relação entre o tamanho do time, a quantidade relativa de testes e a proporção de sucessos em builds para cada linguagem

## Parsed with column specification:
## cols(
##   gh_project_name = col_character(),
##   team = col_double(),
##   lang = col_character(),
##   sloc_end = col_integer(),
##   sloc_med = col_double(),
##   activity_period = col_integer(),
##   num_commits = col_integer(),
##   commits_per_month = col_double(),
##   tests_per_kloc = col_double(),
##   total_builds = col_integer(),
##   build_success_prop = col_double(),
##   builds_per_month = col_double(),
##   tests_added_per_build = col_double(),
##   tests_successful = col_double(),
##   test_density = col_double(),
##   test_size_avg = col_double()
## )

Para esta análise, iremos analisar a relação entre as variáveis envolvidas sob várias perspectivas diferentes.

Tamanho do time x Quantidade relativa de testes

Aqui, colocamos o tamanho do time no eixo x e a quantidade relativa de testes no eixo y. Note que o tamanho dos pontos, representa a proporção de builds de sucesso.

## No scatter mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plot.ly/r/reference/#scatter-mode

Aqui. o uso das diferentes formas aparenta facilitar a visualização das diferenças entre as linguagens, mas a cor também foi utilizada, e segundo a escala de eficácia dos canais, a cor é mais eficaz do que a forma.

Tamanho do time x Quantidade relativa de testes

Agora testaremos a visualização utilizando uma marca diferente, uma visualização que combina os pontos com linhas.

## Warning in RColorBrewer::brewer.pal(N, "Set2"): minimal value for n is 3, returning requested palette with 3 different levels
## A line object has been specified, but lines is not in the mode
## Adding lines to the mode...
## A line object has been specified, but lines is not in the mode
## Adding lines to the mode...

Aqui o uso da linha facilita a compreensão da diferença nos tamanhos dos times das linguagens, pois a linha referente a linguagem Java é considerávelmente menor.

Tamanho do time x Quantidade relativa de testes

Nesta visualização, utilizaremos outra marca, as barras. Plotaremos o gráfico agora agrupando o eixo os times em partições menores, desta forma facilitamos a visualização das barras.

## A line object has been specified, but lines is not in the mode
## Adding lines to the mode...

As barras são ótimas para visualizar variáveis categóricas, entretanto podemos fazer uso de algumas técnicas para tratar variáveis numéricas como categóricas.

Quantidade relativa de testes x Proporção de builds bem sucedidas

Vamos alterar os eixos na próxima visualização.

Esta visualização faz uso de três canais muito úteis. A cor nos ajuda a compreender que a grande maior parte dos grupos é de poucos membros (roxo escuro).

Visualização mais eficaz

A última visualização, fez uso da cor, como canal que transmite de maneira eficaz a informação do tamanho do time, de fato, a cor é um canal mais eficaz do que outros canais para variáveis categóricas que experimentamos, como por exemplo a forma dos pontos. Outro canal utilizado foi a área, que para visualização de marcas em 2D, é um dos canais mais eficazes que pode ser utilizado.