我正在尝试获取数据框子集中的比例。例如,在这个虚构的数据框中:
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))
我想category1
通过category2
组合计算三种动物中每种动物的比例(例如,在所有同时为“A”和“X”的动物中,狗的比例是多少?)。在prop.table
数据框的第 4 列上,我可以得到每行占总“数字”列的比例,但我还没有找到一种方法来为基于类别 1 和 2 的子集执行此操作。我还尝试拆分通过category1
和category2
使用这个数据:
splitDF<-split(DF,list(DF$category1,DF$category2))
然后我希望我可以应用一个函数prop.table
来获取每个拆分组中每只动物的比例,但我无法开始prop.table
工作,因为我似乎无法指定在拆分组中应用该函数的哪一列数据。有没有人有任何提示?也许这是可能的plyr
或类似的东西?我在帮助论坛中找不到任何关于在数据子集中获取比例的方法。