Имея данные в data.frame, я хотел бы объединить некоторые столбцы (используя любую общую функцию), группируя некоторые другие, сохраняя оставшиеся, как они есть (или даже опуская их). Модой является вызов функции group by
в SQL
. В качестве примера давайте предположим, что мы имеемСовокупность нескольких столбцов в соответствии с некоторыми другими
df <- data.frame(a=rnorm(4), b=rnorm(4), c=c("A", "B", "C", "A"))
и я хочу подвести (скажем) значения в столбце a
и средние (скажем) значений в столбце b
, группируя символами в колонке c
. Я знаю, что можно достичь такого использования apply
, cbind
или аналогий, указав функции, которые вы хотите использовать, но мне было интересно, если бы был более умный (с одной строкой) способ (особенно с использованием функции aggregate
).
это был задан Gazillion раз, смотрите здесь http://stackoverflow.com/questions/18799901/data-frame-group-by-column и здесь http://stackoverflow.com/questions/6289538/aggregate-a-dataframe-on-a-given-column-and-display-another-column и здесь http://stats.stackexchange.com/questions/8225/how-to-summarize-data-by-group- in-r – grrgrrbla
@grrgrrbla Пожалуйста, проголосуйте, чтобы закрыть как дубликат в этом случае. –
Возможный дубликат [Использование агрегата для множественных агрегаций] (http://stackoverflow.com/questions/12064202/using-aggregate-for-multiple-aggregations) –