Я новичок в R, использую его в основном для визуализации статистики с использованием библиотеки ggplot2
. Теперь у меня возникла проблема с подготовкой данных.
Мне нужно написать функцию, которая удалит несколько строк (2, 5 или 10) из фрейма данных, которые имеют самые высокие и самые низкие значения в указанном столбце, и поместит их в другой фрейм данных, и сделайте это для каждой комбинации двух факторов. (в моем случае: на каждый день и на сервер).
К этому моменту я выполнил следующие шаги (MWE с использованием esoph
примера набора данных).
Я отсортировал фрейм по желаемому параметру (в примере ncontrols
):
esoph<-esoph[with(esoph,order(-ncontrols)) ,]
Я могу отображать первые / последние записи для каждого значения фактора (в этом примере для каждого возрастного диапазона):
by(data=esoph,INDICES=esoph$agegp,FUN=head,3)
by(data=esoph,INDICES=esoph$agegp,FUN=tail,3)
По сути, я могу видеть самые высокие и самые низкие значения, но я не знаю, как извлечь их в другой фрейм данных и как удалить их из основного.
Также в приведенном выше примере я могу видеть верхние / нижние записи для каждого значения одного фактора (возрастной диапазон), но на самом деле мне нужно знать самые высокие и самые низкие записи для каждого значения двух факторов - в в этом примере они могут быть agegp
и alcgp
.
Я даже не уверен, что эти шаги подходят - возможно, использование plyr
будет работать лучше? Буду признателен за любые подсказки.