【发布时间】:2020-03-01 23:34:15
【问题描述】:
我在R 工作,使用包含项目数量(非负整数)的数据框。这是一个名为BASKET1 和BASKET2 的两个数据帧的示例。在这两种情况下,只有数量至少为一个的项目才会出现在数据框中。项目按字母顺序出现在每个数据框中。
BASKET1
Vegetable Quantity
1 Carrots 3
2 Cucumbers 2
3 Parsnips 5
4 Celery 1
5 Onions 12
BASKET2
Vegetable Quantity
1 Carrots 10
2 Onions 6
3 Rhubarb 2
我正在尝试创建一个函数,将两个篮子的物品组合成一个篮子,将两个篮子中的所有物品相加。这是一种合并操作,只是我实际上想对篮子中的数量求和。使用unique函数获取项目列表非常简单:
VEGETABLES <- unique(BASKET1$Vegetable, BASKET2$Vegetable);
我很难找到一种简单的方法来获取与该项目向量相对应的数量向量,以构建组合篮子的数据框。我认为有一种方法可以使用某种简单的查找查询来做到这一点,但是我尝试过的所有方法都会导致代码很麻烦。
问题:找到与项目组合向量相对应的量向量的最简单方法是什么?
【问题讨论】:
-
试试
aggregate(Quantity ~ Vegetable, rbind(BASKET1,BASKET2), sum) -
是的,akrun 是对的。您基本上想要制作一个大的“长”数据文件,其中每个
Vegetable和Quantity都有多个条目。然后,您可以使用多种方法按组获取总和 -aggregate是一种常见方法。