【R小技巧】实现分组筛选第1条、最后一条、或第n条记录-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

【R小技巧】实现分组筛选第1条、最后一条、或第n条记录

【R小技巧】实现分组筛选第1条、最后一条、或第n条记录

发布:阿扁V5 | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

这里分享一个R小技巧:实现分组筛选第1条、最后一条、或第n条记录。平时可能经常遇到一种问题,比如在不同省份不同性别中选取最近登录的记录,实质就是对省份、性别、登录时间排序,并选择最后一条记录,在sas、pyth ...
免费学术公开课,扫码加入


这里分享一个R小技巧:实现分组筛选第1条、最后一条、或第n条记录。平时可能经常遇到一种问题,比如在不同省份不同性别中选取最近登录的记录,实质就是对省份、性别、登录时间排序,并选择最后一条记录,在sas、python甚至sql都有相关的函数可以快速实现该功能,比如sas有last/first,而R实现起来就比较麻烦,当然可以用sql的group by也是可以的,这里分享另一个技巧,搜索全网别无二家哦。
简单结合order、aggregate函数和dplyr即可实现,代码如下:
  1. library(dplyr)
  2. # 分组排序
  3. temp = iris[order(iris$Species, iris$Petal.Width), ]
  4. # 先用attach函数把temp的列变量名称加入到变量搜索范围内
  5. attach(temp)
  6. # 选择每组最后一条记录
  7. temp1 = aggregate(temp, by=list(Species, Petal.Width)
  8. ,FUN = last)
  9. # 选择每组第一条记录
  10. temp2 = aggregate(temp, by=list(Species, Petal.Width)
  11. ,FUN = first)
  12. # 选择每组第n=2条记录
  13. temp3 = aggregate(temp, by=list(Species, Petal.Width)
  14. ,FUN = nth, n=2)
复制代码
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-6574446-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版