我认为这是一件容易的事,但我无法解决我的问题。
我有一个包含9列的数据框,我希望获得第一列中给出的每个组排序的第4列(LumenLenght)的最高3个值。
我希望能够: a)找到每个SampleID(第一列)分隔的第4列具有最高值的10行 b)平均每个SampleID的10个值
我当前的代码a)首先根据SampleID和LumenLength对值进行排序,b)根据SampleID分离最高,第二高和第三高的LumenLength值。
sorted.v= arrange(sorted.v, desc(SampleId), LumenLength)
maxlength1 = aggregate(sorted.v$LumenLength,by = list(sorted.v$SampleId), FUN = tail, n = 1)#highest value
maxlength2 = aggregate(sorted.v$LumenLength,by = list(sorted.v$SampleId), FUN = tail, n = 2)#second highest value
maxlength3 = aggregate(sorted.v$LumenLength,by = list(sorted.v$SampleId), FUN = tail, n = 3)#3. highest value
如你所见,我还没有真正达到我的目标喷气机。 我也很确定有更好的方法,但我现在卡住了。
答案 0 :(得分:2)
即使没有DELETE
数据集,我们也可以使用action
中的top_n
。
dplyr