Comment tracer les 2 variables catégorielles sur l'axe des abscisses et les deux variables continues comme “remplir” à l'aide du package ggplot2?

J'ai un dataset qui a deux variables catégorielles, viz., Year et Category et deux variables continues TotalSales et AverageCount.

    Year    Category      TotalSales    AverageCount
1   2013    Beverages      102074.29    22190.06
2   2013    Condiments      55277.56    14173.73
3   2013    Confections     36415.75    12138.58
4   2013    Dairy Products  30337.39    24400.00
5   2013    Seafood         53019.98    27905.25
6   2014    Beverages       81338.06    35400.00
7   2014    Condiments      55948.82    19981.72
8   2014    Confections     44478.36    24710.00
9   2014    Dairy Products  84412.36    32466.00
10  2014    Seafood         65544.19    14565.37

Dans MS Excel, on peut être heureux d'obtenir un pivot de l'intrigue de la même table, avec l'Année et la Catégorie de l'AXE, TotalSales et AverageCount sigma valeurs.

À l'aide de R, comment dessiner un graphique comme le montre l'image, où les variables catégorielles sont présentés comme de multiples couches dans le même graphique?

Comment tracer les 2 variables catégorielles sur l'axe des abscisses et les deux variables continues comme “remplir” à l'aide du package ggplot2?

P. S. Une option que j'ai pu voir est, en divisant la trame de données en deux dataframes (l'Une pour l'année 2013 et une autre pour l'année 2014 dans notre cas) et de dessiner deux graphiques sur une seule parcelle, disposées en plusieurs rangées pour obtenir le même effet. Mais est-il possible de le dessiner comme indiqué ci-dessus?


De l'échantillon de données utilisé ci-dessus

dat <- structure(list(Year = c(2013L, 2013L, 2013L, 2013L, 2013L, 2014L, 
2014L, 2014L, 2014L, 2014L), Category = structure(c(1L, 2L, 3L, 
4L, 5L, 1L, 2L, 3L, 4L, 5L), .Label = c("Beverages", "Condiments", 
"Confections", "Dairy Products", "Seafood"), class = "factor"), 
    TotalSales = c(102074.29, 55277.56, 36415.75, 30337.39, 53019.98, 
    81338.06, 55948.82, 44478.36, 84412.36, 65544.19), AverageCount = c(22190.06, 
    14173.73, 12138.58, 24400, 27905.25, 35400, 19981.72, 24710, 
    32466, 14565.37)), .Names = c("Year", "Category", "TotalSales", 
"AverageCount"), class = "data.frame", row.names = c(NA, -10L
)
Peut-être vous pouvez reshape2::melt les deux variables à long format? (Pas testé..)

OriginalL'auteur sunitprasad1 | 2015-05-04