2016-08-19 28 views
-2

我想要以特定格式獲取數據幀。 我有3個屬性user_id,movie_id,movie_ranking。 我想根據最高排名顯示每個用戶的最佳movie_id和排名。如何計算每個用戶的最大值並添加其他屬性

我想dplyr庫對此很有幫助,但我無法真正理解它的工作原理。

+1

提供[再現的示例](http://stackoverflow.com/questions/5963269)和顯示一些編碼工作。 – zx8754

+0

@DavidLexa如果以下解決方案適用於您,請考慮通過單擊投票旁邊的勾號接受解決方案。 – akrun

回答

-2

使用dplyr,我們可以按照'user_id',arrange'movie_ranking'以降序排列,slice第一行。

library(dplyr) 
df1 %>% 
    group_by(user_id) %>% 
    arrange(desc(movie_ranking)) %>% 
    slice(1L) 

一種不太有效的選擇將使用which.max

df1 %>% 
    group_by(user_id) %>% 
    slice(which.max(movie_ranking)) 
+1

太棒了!感謝akrun! –

相關問題