【发布时间】:2013-02-21 17:52:31
【问题描述】:
我正在尝试获取数据框子集内的比例。例如,在这个虚构的数据框中:
DF<-data.frame(category1=rep(c("A","B"),each=9),
category2=rep(rep(LETTERS[24:26],each=3),2),
animal=rep(c("dog","cat","mouse"),6),number=sample(18))
我想通过category2 组合计算每个category1 的三种动物的比例(例如,在所有“A”和“X”的动物中,狗的比例是多少? )。在数据框的第 4 列使用prop.table,我可以获得每一行在总“数字”列中的比例,但我还没有找到一种方法来为基于类别 1 和 2 的子集执行此操作。我也尝试使用 category1 和 category2 拆分数据:
splitDF<-split(DF,list(DF$category1,DF$category2))
然后我希望我可以使用prop.table 应用一个函数来获取每个分组中每只动物的比例,但我无法让prop.table 工作,因为我似乎无法指定哪一列数据将功能应用于拆分组内。有没有人有任何提示?也许plyr 或类似的东西可以做到这一点?我在帮助论坛中找不到任何关于在数据子集中获取比例的方法。
【问题讨论】: