Oblicz proporcje w podzestawach ramki danych

Próbuję uzyskać proporcje w podzestawach ramki danych. Na przykład w tej utworzonej ramce danych:

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))

Chciałbym obliczyć proporcję każdego z trzech zwierząt dla każdegocategory1 przezcategory2 kombinacja (np. spośród wszystkich zwierząt, które są zarówno „A”, jak i „X”, jaką proporcją są psy?). Zprop.table w kolumnie 4 ramki danych mogę uzyskać proporcję, że każdy wiersz składa się na kolumnę „liczba”, ale nie znalazłem sposobu, aby to zrobić dla podzbiorów opartych na kategorii 1 i 2. Próbowałem także podzielić dane przezcategory1 icategory2 używając tego:

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

Miałem nadzieję, że będę mógł zastosować funkcjęprop.table aby uzyskać proporcje każdego zwierzęcia w każdej podzielonej grupie, ale nie mogę tego uzyskaćprop.table działa, ponieważ nie mogę określić, która kolumna danych ma zastosować tę funkcję w obrębie podzielonych grup. Czy ktoś ma jakieś wskazówki? Może to jest możliweplyr czy coś podobnego? Na forach pomocy nie mogę znaleźć niczego o sposobach uzyskania proporcjiw ciągu podzbiory danych.

questionAnswers(2)

yourAnswerToTheQuestion