根据另一列返回并计算一列的值

时间:2015-05-22 13:54:57

标签: r sorting counting

我知道这看起来像一个简单的问题 - 可能是一个简单的问题 - 但我已经谷歌搜索了几个小时,我无法解决它。

我有这样的数据集:

     Fav.Food    Fav.Col.   
1    Chips       Red
2    Bolognaise  Blue
3    Chips       Green
4    Chips       Red
5    Lasagne     Green
6    Crips       Purple

问题:我想要的是找到所有喜欢红色,绿色等的人,然后总结一下他们中有多少喜欢每种不同类型的食物(通过我假设的桌子())。 / p>

我可以为每种颜色做这件事:

FoodForRed<-table(df$Fav.Food[df$Fav.Col=="Red"])

...然后将答案组合成一个数据框,但这似乎很冗长。更糟糕的是,我不知道会有多少不同的Fav.Foods或Fav.Cols。我一直试图通过一个循环遍历Fav.Col列的for循环来解决它,但我不能让它工作,无论如何它看起来都不是很优雅。

非常感谢任何有关真正n00b问题的帮助。

编辑:

有人指出我的问题可以用How to produce an R count matrix来解决。这可能会奏效,但更简单的方法就是单独使用表函数:

 table(df$Fav.Col,df$Fav.Food)

真的很容易......

0 个答案:

没有答案