Criar Histogramas usando R
Quando se explora um conjunto de dados, é frequente querer obter uma rápida compreensão da distribuição de certas variáveis numéricas dentro dele. Uma forma comum de visualizar a distribuição de uma única variável numérica é através da utilização de um histograma. Um histograma divide os valores dentro de uma variável numérica em “contentores”, e conta o número de observações que caem em cada contentor. Ao visualizar estas contagens em forma colunar, podemos obter um sentido muito imediato e intuitivo da distribuição de valores dentro de uma variável.
Esta receita irá mostrar-lhe como criar um histograma usando R. Especificamente, irá usar a função R’s hist() e ggplot2.
No nosso exemplo, irá visualizar a distribuição da duração da sessão para um website. Os passos nesta receita estão divididos nas seguintes secções:
- Data Wrangling
- Data Exploration & Preparation
- Data Visualization
Pode encontrar implementações de todos os passos delineados abaixo neste exemplo Relatório de modo. Vamos começar.
Data Wrangling
Vocês usarão SQL para arranjar os dados de que necessitarão para a nossa análise. Para este exemplo, irá utilizar o sessions
conjunto de dados disponível no Armazém Público de Dados da Mode. Usando o navegador de esquema dentro do editor, certifique-se de que a sua fonte de dados está definida para a fonte de dados da Mode Public Warehouse e execute a seguinte consulta para fazer a sua consulta:
`select *from modeanalytics.sessions`
Após a consulta SQL ter concluído a execução, renomeie a sua consulta SQL para Sessions
para que possa facilmente identificá-la dentro do caderno R.
Data Exploration & Preparation
Agora de ter os seus dados tratados, está pronto a passar para o caderno R para preparar os seus dados para visualização. O modo canaliza automaticamente os resultados das suas consultas SQL para um quadro de dados R atribuído à variável datasets
. Pode usar a seguinte linha de R para aceder aos resultados da sua consulta SQL como um quadro de dados e atribuí-los a uma nova variável:
`sessions <- datasets]`
Data Visualization
Para criar um histograma, usaremos a função hist()
de R. Uma vez que só está interessado em visualizar a distribuição da variável session_duration_seconds
, passará no nome da coluna para a função hist()
para limitar a saída de visualização à variável de interesse:
`# Using hist() function in base graphics to make a histogramhistinfo=hist(sessions$session_duration_seconds, main="Histogram with Default Parameters")`
Pode personalizar ainda mais a aparência do seu histograma fornecendo a função hist()
parâmetros adicionais da função:
`hist(sessions$session_duration_seconds, main="Adding grid lines and ticks", xlab="Session Duration (in seconds)", ylab= "Count", xlim=c(0,55), ylim=c(0, 49000), col="lightgrey")axis(4, labels=FALSE, col = "lightgrey", lty=2, tck=1)`
P>Poderá também usar a funcionalidade de criação de histogramas nativos do ggplot2 para criar e estilizar histogramas em R com características adicionais como as estimativas da densidade do núcleo:
`p <- ggplot(sessions, aes(x=session_duration_seconds)) + geom_histogram(aes(y=..density..), # Histogram with density instead of count on y-axis binwidth=2, colour="black", fill="white") + geom_density(alpha=.3, fill="#32CD32")p + labs(x = "Session Duration (in seconds)", y = "Density", title = "Density Curve using ggplot2") + coord_fixed(ratio = 100)ggsave("ggtest.png", p, width = 5, height = 8, dpi = 1200)`