根据r中的列值对行进行分组和显示

时间:2017-07-21 17:30:52

标签: r

enter image description here

我想根据“评分”列对行进行分组,然后显示每个组中具有最大One_Year_Return的行。我是R的新手,无法编写代码。感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Dplyr方法

您可以使用 dplyr软件包进行数据转换操作。

"1", "2"
  • 在本书R For Data Science的第5章中阅读更多内容。

  • 运算符%>%取运算符左侧的变量并作为右侧函数的第一个参数。例如,

    install.packages("dplyr")    # install the dplyr package
    library(dplyr)     # load the package in your work environment
    your_data %>%
       group_by(Rating) %>%      # group your data based on the variable Rating
       arrange(desc(One_Year_Return)) %>%     # order in descending order the variable One_Year_Return
       slice(1)    # extract the first row (the observation with the highest return of each group)
    
  • 管道运算符(%>%)允许您将多个操作链接在一起,而不存在时态变量中存储中间步骤的必要性。

使用基本R函数的另一种方法可能是:

your_data %>% group_by(Rating)
# is equivalent to...
group_by(your_data, Rating)

最后一种方法的重点是理解 lapply 函数和匿名函数的概念。