Рассчитать пропорции в подмножествах фрейма данных

Я пытаюсь получить пропорции в подмножествах фрейма данных. Например, в этом готовом кадре данных:

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&nbsp;поcategory2&nbsp;комбинация (например, из всех животных, которые являются и "A" и "X", в какой пропорции собачки?) С участиемprop.table&nbsp;В столбце 4 кадра данных я могу получить пропорцию, которую каждая строка составляет из общего столбца «число», но я не нашел способа сделать это для подмножеств, основанных на категориях 1 и 2. Я также попытался разделить данные поcategory1&nbsp;а такжеcategory2&nbsp;используя это:

splitDF<-split(DF,list(DF$category1,DF$category2))

И я надеялся, что смогу затем применить функцию сprop.table&nbsp;чтобы получить пропорции каждого животного в каждой группе, но я не могу получитьprop.table&nbsp;работает, потому что я не могу указать, к какому столбцу данных применить функцию внутри разделенных групп. У кого-нибудь есть советы? Может быть, это возможно сplyr&nbsp;или что-то подобное? Я не могу найти что-либо в справочных форумах о способах получения пропорцийв&nbsp;подмножества данных.