У меня есть большой кадр данных, в котором некоторые строки имеют повторяющиеся значения в некоторых из своих столбцов. Я хочу сохранить повторяющиеся значения и суммировать те, которые отличаются. Ниже приведен образец моих данных:Суммирование ячеек некоторых строк и столбцов
data<-data.frame(season=c(2008,2009,2010,2011,2011,2012,2000,2001),
lic=c(132228,140610,149215,158559,158559,944907,37667,45724),
client=c(174,174,174,174,174,174,175,175),
qtty=c(31,31,31,31,31,31,36,26),
held=c(60,65,58,68,68,70,29,23),
catch=c(7904,6761,9236,9323.2,801,NA,2330,3594.5),
potlift=c(2715,2218,3000,3887,750,NA,2314,3472))
.
season lic client qtty held catch potlift
2008 132228 174 31 60 7904 2715
2009 140610 174 31 65 6761 2218
2010 149215 174 31 58 9236 3000
2011 158559 174 31 68 9323.2 3887
2011 158559 174 31 68 801 750
2012 944907 174 31 70 NA NA
2000 37667 175 36 29 2330 2314
2001 45724 175 26 23 3594.5 3472
Обратите внимание, что сезон 2011 повторяется, каждая переменная (client... held
), за исключением catch
и potlift
. Мне нужно сохранить значения (client... held
) и сумму catch
и potlift
; Поэтому мой новый кадр данных должен быть, как на примере ниже:
season lic client qtty held catch potlift
2008 132228 174 31 60 7904 2715
2009 140610 174 31 65 6761 2218
2010 149215 174 31 58 9236 3000
2011 158559 174 31 68 10124.2 4637
2012 944907 174 31 70 NA NA
2000 37667 175 36 29 2330 2314
2001 45724 175 26 23 3594.5 3472
Я попытался сделать это с помощью aggregate
, но эта функция сумма все. Любая помощь будет оценена.
Привет, Томас, спасибо большое! – Rafael
Как правило, мне удобно хранить эти символы внутри 'или' transform', когда я использую 'ave' для выполнения нескольких« агрегаций ». Однако я считаю, что' aggregate' отлично работает в этом наборе данных! – A5C1D2H2I1M1N2O1R2T1