мне нужно агрегировать строки кадра данных с большим числом строк таким образом:Как установить приоритет при агрегировании строк фрейма данных?
Допустит, у меня есть две строки, которые я хочу, чтобы объединить (так как они имеют один и тот же первый элемент):
x1=c(ID1,1,3,2,1,NA);
x2=c(ID1,2,2,3,NA,NA);
Я хочу объединить их значения так, чтобы результат был в случае столкновения (clash = обе строки имеют значение non-NA в элементе) предпочитают значение в строке с более высоким значением во втором элементе (то есть x2).
Таким образом, в данном примере результат агрегации у этих двух строк будет:
x12=c(ID1,2,2,3,1,NA)
Может кто-нибудь, пожалуйста, помогите? Я попытался aggregate()
, но предлагает только сводные статистические данные, как среднее, максимальное и т.д.
Может ли быть более 1 ID1 на одной информационной карте или это уникально? можете ли вы дать образец данных (2 кадра данных)? неясно, хотите ли вы, чтобы функция получала x1 и x2 в качестве входных и выходных данных x12 или решение для обоих фреймов данных. –
Просьба предоставить образцы данных, которые представляют, что вы хотите сделать. Вы говорите, что хотите «объединить» два data.frames по строкам, но только предоставили два вектора. Ниже приведены советы по созданию минимального примера (http://stackoverflow.com/help/mcve), а также этого для создания [примеров в R] (http://stackoverflow.com/questions/5963269/how- к-макияж а-пра-р-воспроизводимый-пример). – lmo