Przepraszam z góry - Wiem, że prawdopodobnie odpowiedziano na to w innym miejscu, ale wydaje mi się, że nie jestem w stanie znaleźć odpowiedzi, której potrzebuję i nie mogę sobie pozwolić inny kod, który znalazłem w moich potrzebach.Odejmij pary kolumn na podstawie pasującej kolumny
mam ramki danych:
FILE | TECHNIQUE | COUNT
------------------------
A | ONE | 10
A | TWO | 25
B | ONE | 5
B | TWO | 30
C | ONE | 30
C | TWO | 50
ja podobnego, aby wytworzyć ramkę danych z różnicy wartości COUNT od jednego do dwóch, z rzędu dla każdego pliku, to znaczy
FILE | DIFFERENCE
-----------------
A | 15
B | 25
C | 20
Jestem przekonany, że powinienem być w stanie to zrobić dość łatwo z bazą R lub Plyr, ale trochę utknąłem. Czy ktokolwiek mógłby zaproponować dobry sposób na zrobienie tego i być może dobre tutoriale na temat Plyra, które mogłyby mi pomóc z podobnymi problemami w przyszłości?
Dzięki
+1. Teraz musisz dodać, 'data.table' i' by', przynajmniej :) – A5C1D2H2I1M1N2O1R2T1
Po pierwsze, dzięki za fantastyczne odpowiedzi i podziękowania za różnorodność - jesteś na serio (i przyjmuję twoją odpowiedź w za chwilę). Jeden końcowy dodatek - jak mogę obliczyć go jako procent oryginału? (na przykład A wyniesie 40%). Rozumiem, że wymagałoby to użycia czegoś innego niż diff, prawda? – obfuscation
skąd pochodzi 40%? –