Good afternoon,
I am trying to create some plots within R Studio from the following data:
structure(list(Transaction = c(1L, 2L, 2L, 3L, 3L, 3L), Item = c("Bread",
"Scandinavian", "Scandinavian", "Hot chocolate", "Jam", "Cookies"
), period_day = c("morning", "morning", "morning", "morning",
"morning", "morning"), weekday_weekend = c("weekend", "weekend",
"weekend", "weekend", "weekend", "weekend"), Month = c("October",
"October", "October", "October", "October", "October"), Time = c("09",
"10", "10", "10", "10", "10")), row.names = c(NA, 6L), class = "data.frame")
I am trying to create bar charts to explore the data visually, for instance, I would like to plot:
For example:
This kind of plot, with different colours for the different months.
How can I start to produce these plots? I have tried the following code:
SalesByTime <- bb_raw %>%
group_by(Time, Item) %>%
summarise(Transactions = sum(Item))
But I believe this was taking the sum of the transaction numbers, not the frequency of the sales (see below).
structure(list(Time = c("01", "07", "08", "09", "10", "11", "12",
"13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"
), Transactions = c(4090L, 59889L, 3143112L, 9168556L, 12679593L,
15159832L, 14129139L, 13231165L, 13633823L, 11081386L, 7053231L,
1969450L, 289382L, 223385L, 104967L, 16411L, 76746L, 22825L)), row.names = c(NA,
-18L), class = c("tbl_df", "tbl", "data.frame"))
Any suggestions? Any help would be massively appreciated. Please let me know if there's any more information I can provide.
If I'm understanding you, you want the number of observations within each group per time period. You can do this with dplyr::n()
.
df %>%
group_by(Time, Item) %>%
summarise(Transactions = n())
# Time Item Transactions
# <chr> <chr> <int>
# 1 09 Bread 1
# 2 10 Cookies 1
# 3 10 Hot chocolate 1
# 4 10 Jam 1
# 5 10 Scandinavian 2
To group by just time period, group by the time period(s) you want.
df %>%
group_by(Time) %>%
summarise(Transactions = n())
# Time Transactions
# <chr> <int>
# 1 09 1
# 2 10 5