Вот решение:
library(tidyverse)
df<-data.frame(Name=c("A","B","C"),Month=as.factor(c(11,11,11)),Amount=c(123,456,789))
df %>%
arrange(desc(Amount)) %>%
top_n(2,Amount)#change 2 to 5
Лучше всего предоставить пример данных:
iris %>%
group_by(Species) %>%
arrange(desc(Sepal.Length)) %>%
top_n(5,Sepal.Length)
ИЛИ :: На основе данных @Chabo:
User<-c(6,2,3,4,5,6)
Transaction.Date<-c("11-1-2019","11-2-2019","11-3-2019",
"12-1-2019","12-2-2019","11-1-2019")
Amount<-c(100,200,300,400,500,150)
df1<-data.frame(Amount,Transaction.Date,User)
df1 %>%
group_by(User,Transaction.Date) %>%
arrange(desc(Amount)) %>%
top_n(5,Amount) %>%
ungroup() %>%
top_n(5,Amount)
Я читал на блоге где-нибудь для простой замены перед фильтрами (или загружающий все виды данных в методе контроллера) со вспомогательными методами. Что-то вроде этого:
class BlogsController < ApplicationController
def show
session[:found_user]=@user.login
render :layout=>false
end
helper_method :user, :blog, :posts, :tags, :pages, :links, :archives, :categories
protected
def user
@user ||= User.find_by_login(params[:id])
end
def blog
@blog ||= user.blog
end
def posts
@posts ||= Post.status("publish", user).find(:all, :order => "created_at DESC")
end
def tags
@tags ||= user.tags
end
def pages
@pages ||= Page.status("publish", user).find(:all, :order => "created_at DESC")
end
def links
@links ||= user.links.public_link.find(:all, :order => 'created_at DESC')
end
def archives
@archives ||= posts.group_by(&:month)
end
def categories
@categories ||= user.categories.group_by(&:name)
end
end
## app/views/blogs/show.html.erb
<p>Name: <%=h user.name %></p>
<h3><%= posts.length %> Posts</h3>
<% posts.each do |post| %>
...
<% end %>
<ul>
<% categories.each do |category| %>
<li><%=h category %></li>
<% end %>
</ul>
Посмотрите, как в представлении с помощью чего-либо просто обращается к базе данных. Преимущество этого решения состоит в том, что вспомогательные методы, которые не называют, не займут время от действия.
При необходимости абстрагируйте вспомогательные методы в модуль и включайте модуль в ApplicationController.