Como Süss Estatísticas em ggplot2 em R
Depois que os dados, mapeamento e Geoms, o quarto elemento de um ggplot2
camada em R descreve como os dados devem ser apresentados. Dentro ggplot2, você se refere a este resumo estatístico como STAT.Uma característica muito conveniente de ggplot2 é a sua gama de funções para resumir seus dados na trama. Isso significa que muitas vezes você não tem que pré-resumir seus dados. Por exemplo, a altura das barras em um histograma indica quantas observações de algo que você tem em seus dados. O resumo estatístico para isso é para contar as observações. Os estatísticos referem-se a este processo como binning, e a estatística padrão para geom_bar () é stat_bin ().
Análoga à forma que cada geom tem um padrão associado estatísticas, cada estatísticas também tem um padrão geom.
Então, isso levanta a questão: Como você decide se deseja usar um geom ou um estatísticas? Em teoria, não importa se você escolher o geom ou o estatísticas primeiro. Na prática, no entanto, que muitas vezes é intuitivo para começar com um primeiro tipo de trama - por outras palavras, uma especificar geom. Se você então querer adicionar outra camada de resumo estatístico, use uma estatísticas.
Neste enredo, que utilizou os mesmos dados para primeiro criar um gráfico de dispersão com geom_point (), e, em seguida, você adicionou uma linha suave com stat_smooth ().
Aqui alguns exemplos práticos do uso estatísticas funções.
Stat | Descrição | padrão Geom |
---|---|---|
stat_bin () | Conta o número de observações em caixas. | geom_bar () |
stat_smooth () | Cria uma linha suave. | geom_line () |
stat_sum () | Adiciona valores. | geom_point () |
stat_identity () | Não há resumo. Lotes de dados como está. | geom_point () |
stat_boxplot () | Resume os dados para um gráfico de caixa-and-suiça. | geom_boxplot () |
binning de dados
Você já viu como usar stat_bin () para resumir seus dados em caixas, porque este é o status padrão de geom_bar (). Isto significa que as duas linhas de código a seguir produzir parcelas idênticas:
> Ggplot (terremotos, aes (x = profundidade)) + geom_bar (binwidth = 50)> ggplot (terremotos, aes (x = profundidade)) + stat_bin (binwidth = 50)
suavização de dados
o ggplot2 pacote também faz com que seja muito fácil criar linhas de regressão através de seus dados. Você usa o stat_smooth () função para criar este tipo de linha.
A coisa interessante sobre stat_smooth () é que ele faz uso de regressão local por padrão. R tem várias funções que podem fazer isso, mas ggplot2 utiliza o loess () função para a regressão local. Isto significa que se você quiser criar um modelo de regressão linear, você tem que dizer stat_smooth () usar uma função diferente suave. Você pode fazer isso com o método argumento.
Para ilustrar o uso de um mais suave, começar por criar um conjunto disperso de desemprego na longley conjunto de dados:
> p lt; - ggplot (Longley, aes (x = Ano, y = Empregado)) + geom_point ()> p
Em seguida, adicionar um mais suave. Isto é tão simples como adicionar stat_smooth () à sua linha de código.
> P + stat_smooth ()
Seu gráfico deve ser semelhante a trama para a esquerda da imagem abaixo.
As vez, ggplot2 gera mensagens com dicas extras e informações. Contanto que você não vê aviso ou erro, você pode ignorar essas mensagens. Nesse caso, stat_smooth () diz que o padrão mais suave é um método chamado loesse (Suavização local). A mensagem também diz que você pode usar métodos de alisamento alternativas.
Finalmente, usar stat_smooth () para caber e traçar um modelo de regressão linear. Você pode fazer isso adicionando o argumento method =# 147-lm# 148-:
> P + stat_smooth (method = # 147-lm # 148-)
Seu gráfico deve agora olhar como o enredo para a direita.
Não fazer nada com a identidade
Às vezes você não quer ggplot2 para resumir seus dados na trama. Isso geralmente acontece quando os dados são já pré-resumidos ou quando cada linha de seu quadro de dados tem de ser plotados em separado. Nesses casos, você quer dizer ggplot2 para não fazer nada em tudo, e a estatística de fazer isso é stat_identity (). Você deve ter notado que stat_identity é a estatística padrão para os pontos e linhas.