Mam ramkę danych, w której jedna kolumna to nazwy gatunków, a druga kolumna to wartości liczebności. Ze względu na procedurę pobierania próbek niektóre gatunki pojawiają się więcej niż jeden raz (tj. Występuje więcej niż jeden rząd z gatunkiem X). Chciałbym skonsolidować te wpisy i zsumować ich obfitość.Skonsoliduj duplikaty wierszy
Na przykład, biorąc pod uwagę to ramka danych:
set.seed(6)
df=data.frame(
x=c("sp1","sp2","sp3","sp3","sp4","sp2","sp3"),
y=rpois(7,2)); df
która produkuje:
x y
1 sp1 2
2 sp2 4
3 sp3 1
4 sp3 1
5 sp4 3
6 sp2 5
7 sp3 5
Chciałbym zamiast produkować:
x y
1 sp1 2
2 sp2 9 (5+4)
3 sp3 7 (5+1+1)
5 sp4 3
Z góry dziękuję za wszelką pomoc ty może dostarczyć!
D'oh! Jak ta podręcznikowa aplikacja ddply przemknęła obok mnie ... Dzięki Ben! – jslefche
+1 dla zastosowania liczby mnogiej i sumy. Miałem kłopoty z transformacją i mutacją, starając się, aby to wszystko działało. –
AFAIK, "agregacja (y ~ x + z, dane = df, FUN = suma)" może być użyta do zachowania * dodatkowej * kolumny (tutaj "z"), jeśli zajdzie taka potrzeba (czy była potrzeba w moim przypadku).Proszę popraw mnie jeżeli się mylę. – Shadow