我对 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
会更好?我会很感激任何提示。