我想根据“评分”列对行进行分组,然后显示每个组中具有最大One_Year_Return的行。我是R的新手,无法编写代码。感谢任何帮助。
答案 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 函数和匿名函数的概念。