2015-04-02 5 views
0
Id TimeToEnd DistanceToRadar Composite HybridScan HydrometeorType Kdp RR1 
1: 1  56    30 -99900  -99900    8 0 0 
2: 1  37    30 -99900  -99900    8 0 0 
3: 1  31    30 -99900  -99900    8 0 0 
4: 1  25    30 -99900  -99900    8 0 0 
5: 1  19    30 -99900  -99900    8 0 0 
6: 1  13    30 -99900  -99900    8 0 0 
7: 1   7    30 -99900  -99900    8 0 0 
8: 1   2    30 -99900  -99900    8 0 0 
9: 2  58    77 -99900  -99900    8 0 0 
10: 2  48    77 -99900  -99900    8 0 0 

    TimeToEndInversion NewDistanceToRadar NewRadarIndicator RadarSeries 
1:     1     1    TRUE   1 
2:     0     0    FALSE   1 
3:     0     0    FALSE   1 
4:     0     0    FALSE   1 
5:     0     0    FALSE   1 
6:     0     0    FALSE   1 
7:     0     0    FALSE   1 
8:     0     0    FALSE   1 
9:     1     1    TRUE   1 
10:     0     0    FALSE   1 
     Mean 
1: 11.125000 
2: 11.125000 
3: 11.125000 
4: 11.125000 
5: 11.125000 
6: 11.125000 
7: 11.125000 
8: 11.125000 
9: 7.416667 
10: 7.416667 

Для приведенных выше данных, я хочу иметь строки с уникальным Mean для групп Id и RadarSeries, я попыталсяУдалять строки, содержащие повторяющиеся записи в R

голову (DTT [уникальный (Mean) , при = с ("Id", "RadarSeries")]) , но это дает,

Id RadarSeries  V1 
1: 1   1 11.125000 
2: 2   1 7.416667 
3: 3   1 5.250000 
4: 4   1 12.750000 
5: 5   1 15.000000 
6: 5   2 21.916667 

, тогда как я хочу, чтобы каждый столбец, чтобы быть в результирующей таблице данных, а не только Id, RadarSeries и среднее. Любые идеи

Как это сделать? Редактировать: Я хочу max() оставшихся столбцов.

+0

Таким образом, в данных первые 8 строк имеют одинаковый идентификатор, RadarSeries и среднее значение, так что вы хотите, чтобы быть свернуты в один ряд. Они имеют разные значения 'TimeToEnd',' TimeToEndInversion', 'NewDistanceToRadar' и' NewRadarIndicator'. Для этих разных столбцов, что вы хотите, первое значение? последнее значение? в среднем? случайный пример? что-то другое? – Gregor

+0

В общем случае при манипулировании данными при суммировании данных таким образом каждая отдельная переменная должна быть либо частью вашей группировки (например, Id и RadarSeries), либо частью агрегатной функции, которая принимает множество значений в качестве входных данных, но только выводит один (например, 'mean',' first() ',' last() ',' sum() '...). – Gregor

+0

ohk..thanks. Я этого не заметил. Теперь я должен думать об этом. –

ответ

0

Мне нравится dplyr для этого:

library(dplyr) 
dtt %>% group_by(Id, RadarSeries, Mean) %>% 
    summarize_each(funs(max)) 
Смежные вопросы