A diferença entre facet_wrap() e facet_grid() em r


As funções facet_grid() e facet_wrap() no pacote ggplot2 podem ser usadas para produzir uma grade de gráficos.

Aqui está a principal diferença entre as duas funções:

  • A função facet_grid() produzirá uma grade de gráficos para cada combinação de variáveis que você especificar, mesmo se alguns gráficos estiverem vazios.
  • A função facet_wrap() produzirá gráficos apenas para combinações de variáveis que possuem valores, o que significa que não produzirá gráficos vazios .

Os dois exemplos a seguir ilustram a diferença entre essas duas funções, usando o seguinte quadro de dados:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'G', 'G'),
                 points=c(8, 14, 20, 22, 25, 29, 30, 31),
                 assists=c(10, 5, 5, 3, 8, 6, 9, 12))

#view data frame
df

  team position points assists
1 GA 8 10
2 AG 14 5
3 FY 20 5
4 AF 22 3
5 BG 25 8
6 BG 29 6
7 BG 30 9
8 BG 31 12

Exemplo 1: usando a função facet_grid()

O código a seguir mostra como usar facet_grid() para criar uma grade que exibe um gráfico de dispersão de assistências versus pontos para cada combinação de equipe e posição:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_grid(position~team)

Observe que um gráfico de dispersão é produzido para cada combinação de equipe e posição , mesmo que não existam valores no quadro de dados original para um valor de equipe B e um valor de posição F :

Veja como funciona facet_grid() : ele produzirá um gráfico para cada combinação de variáveis que você especificar, mesmo se alguns gráficos estiverem vazios.

Exemplo 2: usando a função facet_wrap()

O código a seguir mostra como usar facet_wrap() para criar uma grade que exibe um gráfico de dispersão de assistências versus pontos para cada combinação existente de equipe e posição:

 library (ggplot2)

ggplot(df, aes (assists, points)) +
  geom_point() +
  facet_wrap(position~team)

Observe que um gráfico de dispersão só é produzido para combinações de equipe e posição que existem no quadro de dados original.

Isso significa que nenhum gráfico é criado para a combinação da equipe B e da posição F porque não existe nenhum valor no quadro de dados original para essa combinação específica.

É assim que facet_wrap() funciona: nunca produzirá um caminho vazio.

Nota : Consulte a documentação do ggplot2 para obter um guia completo das funções facet_grid() e facet_wrap() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no ggplot2:

Como alterar o tamanho da fonte no ggplot2
Como remover uma legenda no ggplot2
Como girar rótulos de eixo no ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *