Oblicz procenty kolumny w ramce danych - „pogrupowane” według kolumny

Jestem początkującym R i doszedłem do punktu, w którym potrzebuję możliwości obliczania procentów wartości w ramce danych, ale „zgrupowanych” przez inną wartość kolumny, dość często.

Mam ramkę danych z około 1000 wierszy, zawierającą mediatype, wersję, kolekcję (= rok) i licznik (dla tego roku). Mogę je filtrować, aby uzyskać tylko konkretny mediaty:

trSpdf <- trS[trS$Mediatype == 'application/pdf',]

i uzyskaj następujące przykładowe wyjście:

> trSpdf 

        Mediatype Version Collection      Count
39 application/pdf      -1     co2008         2.0
40 application/pdf      -1     co2009         5.0
43 application/pdf       1     co2008         1.0
44 application/pdf       1     co2009         1.0
48 application/pdf     1.1     co2008        16.0
52 application/pdf     1.2     co2008        20.0
53 application/pdf     1.2     co2009        90.0
... (continuing) ...

Chcę obliczyć procent każdej wersji dla każdej kolekcji (= rok) w porównaniu ze wszystkimi wersjami w tej kolekcji, więc w tym przykładzie wynik powinien być:

5.12% of all versions in co2008 were version -1 (2.0 / total sum for co2008)
2.56% of all versions in co2008 were version 1 (1.0 / total sum for co2008)
...
93,75% of all versions in co2009 were version 1.2 (90.0 / total sum for co2009)
...

Z góry dziękuję za odpowiedzi na pytanie, w jaki sposób mogę to rozwiązać.

questionAnswers(2)

yourAnswerToTheQuestion