在orders_joined数据框中,我需要根据我的销售额和价格将它们相乘来计算总收入。然后我需要将它们分配给一个新对象 -total_revenue。
我需要制作这样的表格
这是我的尝试:
我的代码:
total_revenue <- orders_joined %>%
group_by(DESCRIP) %>%
summarise(num_units = n(),
tot_rev = num_units*PPU) %>%
rename(item = DESCRIP)
head(total_revenue, 3)
我的输出:
在我的输出中,鸡蛋布丁和荔枝没有出现,这三个项目都是波巴。 我认为我的“tot_rev = num_units*PPU”有问题,但无法弄清楚哪里出了问题。
在
group_by
中重命名组的方法。使用 sum
获取 tot_rev,因为 n()
是每组的项目数。 num_units * PPU
将产生一个具有原始长度的向量。
library(dplyr)
orders_joined %>%
group_by(item = DESCRIP) %>%
summarize(num_units = n(), tot_rev = sum(PPU))
# A tibble: 10 × 3
item num_units tot_rev
<chr> <int> <dbl>
1 Jasmine Milk; Boba 2 13.5
2 Jasmine Milk; No Topping 2 12.5
3 Original Milk; Boba 2 11.5
4 Original Milk; Egg Pudding 1 5.75
5 Original Milk; Lychee 3 17.2
6 Original Milk; No Topping 2 10.5
7 Oriqinal Milk; No Toooin 1 5.25
8 Taro; Boba 1 5.75
9 Taro; Egg Pudding 1 5.75
10 Taro; Lychee 3 17.2
orders_joined <- structure(list(order_no = c(1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 4L,
5L, 5L, 5L, 6L, 7L, 8L, 9L, 10L, 11L), item_no = c("T02", "T02",
"B01", "T01", "J01", "B02", "J00", "T03", "J01", "B00", "B01",
"B02", "J00", "T02", "B02", "B00", "B03", "B00"), DESCRIP = c("Taro; Lychee",
"Taro; Lychee", "Original Milk; Boba", "Taro; Boba", "Jasmine Milk; Boba",
"Original Milk; Lychee", "Jasmine Milk; No Topping", "Taro; Egg Pudding",
"Jasmine Milk; Boba", "Original Milk; No Topping", "Original Milk; Boba",
"Original Milk; Lychee", "Jasmine Milk; No Topping", "Taro; Lychee",
"Original Milk; Lychee", "Original Milk; No Topping", "Original Milk; Egg Pudding",
"Oriqinal Milk; No Toooin"), PPU = c(5.75, 5.75, 5.75, 5.75,
6.75, 5.75, 6.25, 5.75, 6.75, 5.25, 5.75, 5.75, 6.25, 5.75, 5.75,
5.25, 5.75, 5.25)), class = "data.frame", row.names = c(NA, -18L
))