【发布时间】:2019-10-23 17:18:15
【问题描述】:
假设我有一张长格式的采购表。它看起来像:
purchases = data.frame(
Item = c("Bike", "Bike", "Bike", "Bike", "Car", "Car", "Car", "Car"),
Variable = c("Age", "Age", "Price", "Price", "Age", "Age", "Price", "Price"),
Value = c("New", "Used", "Full", "Discount", "New", "Used", "Discount", "Discount")
)
我想查看按项目和变量分组的值的分布。所以我可以说“在所有售出的自行车中,有 50% 被使用”或“所有汽车都以折扣价出售”。
理想的输出应该是如下所示的表格:
我可以通过以下方式在 dplyr 中获取计数:
purchases %>% group_by(Item, Variable, Value) %>%
summarise(Total = n())
然后,我会将这些值中的每一个除以它们各自的项目和变量分组。我可以想到一些很长的答案,我有条件地在另一个变量中添加相应的计数,但我希望通过 dplyr 找到一种简单的方法。另一种描述它的方式可能是在分组的一个级别上执行计算。
【问题讨论】: