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.

Fazendo um histograma com & lt; span class =geom_bar (). "width =" 535 "/>
Fazendo um histograma com geom_bar ().

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.

StatDescriçãopadrã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.

Adicionando linhas de regressão com & lt; span class =stat_smooth (). "width =" 535 "/>
Adicionando linhas de regressão com stat_smooth ().

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.

menu