Como converter dados para Grandes Formatos em R

Se você tem um dataset fundida (Um conjunto de dados no formato longo), você está pronto para remodelá-lo com R. Para ilustrar que o processo de reformulação mantém todos os seus dados intactos, tentar reconstruir o original:

> Dcast (mgoals, Venue + Game ~ variável, sum) Jogo Local Granny Geraldine Gertrude1 primeiro Bruges 12 5112 2ª Ghent 4 453 3ª Ghent 5 264 4 Bruges 6 47

você pode ver como dcast () toma uma fórmula como seu segundo argumento? Mais sobre isso em um minuto, mas primeiro inspecionar seus resultados. Ele deve corresponder a estrutura de dados original.

Em seguida, você pode querer fazer algo mais interessante - por exemplo, criar um resumo do local e jogador.

Você usa o dcast () função para lançar um quadro de dados fundido. Para ser claro, você pode usar isto para converter de um formato longo para um formato de largura, mas você também pode usar isso para agregar em formatos intermediários, semelhante à maneira como uma tabela dinâmica funciona.

o dcast () função recebe três argumentos:

  • dados: Um quadro de dados fundido.

  • Fórmula: Uma fórmula que especifica como você deseja lançar os dados. Esta fórmula tem a forma x_variable ~ y_variable. Mas é simplificado-lo para fazer um ponto. Você pode usar múltiplos x-variáveis, múltiplos y-variáveis ​​e até mesmo z-variáveis.

  • fun.aggregate: A função a ser usada se a fórmula de fundição resulta em agregação de dados (por exemplo, comprimento(), soma(), ou significar()).

Assim, para obter o resumo do local contra jogador, você precisa usar dcast () com uma fórmula de fundição variável de ~ Venue. Observe que a fórmula de fundição se refere a colunas em seu quadro de dados de fundição:

> Dcast (mgoals, variável de ~ Venue, soma) variável Bruges Ghent1 Granny 18 92 Geraldine 9 63 18 11 Gertrude

Se você deseja obter uma tabela com o local que funciona abaixo das linhas e o jogador através das colunas, a sua fórmula de fundição deve ser Local ~ variável:

> Dcast (mgoals, Venue ~ variável, sum) Local Granny Geraldine Gertrude1 Bruges 18 9182 Ghent 9 611

É realmente possível ter fórmulas de fundição mais complicadas. De acordo com a página de Ajuda para dcast (), a fórmula de fundição leva este formato:

x_variable + x_2 ~ y_variable + y_2 ~ z_variable ~ ...

Observe que você pode combinar diversas variáveis ​​em cada dimensão com o sinal de adição (+), E você separar cada dimensão com um til (~). Além disso, se você tiver dois ou mais tiles na fórmula (isto é, você incluir um z-variável), o resultado será uma matriz multidimensional.

Assim, para obter um resumo das metas, Local, jogador (variável), E Jogo, você faça o seguinte:

> Dcast (mgoals, Venue + variável de ~ Jogo, sum) Venue variável 1º 2º 3º 4th1 Bruges Granny 12 0 0 62 Bruges Geraldine 5 0 0 43 Bruges Gertrude 11 0 0 74 Ghent Granny 0 4 5 05 Ghent Geraldine 0 4 2 06 Ghent Gertrude 0 5 6 0

Uma das razões que você deve compreender dados em formato longo é que ambos os pacotes gráficos gelosia e ggplot2 fazem uso extensivo de dados de formato longo. A vantagem é que você pode facilmente criar parcelas de seus dados que compara diferentes subgrupos.

image0.jpg
> Biblioteca (ggplot2)> ggplot (mgoals, aes (x = variável, y = valor, preencha = Game)) + geom_bar ()

menu