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.