相关文章推荐
傲视众生的芹菜  ·  SELECT DISTINCT FROM ...·  1 月前    · 
神勇威武的西瓜  ·  时间戳存入mysql数据库时1970年异常解 ...·  11 月前    · 
爱搭讪的猴子  ·  容器运行时探讨--从dockershim正式 ...·  1 年前    · 
有情有义的日光灯  ·  【姓氏文化】汉族人取名最长可以几个字?_姓名·  2 年前    · 
急躁的甜瓜  ·  使用Datagrip连接Hive - 简书·  2 年前    · 
Code  ›  【技巧】如何快速按照日期分组开发者社区
变量
https://cloud.tencent.com/developer/article/1727845
苦恼的羊肉串
2 年前
作者头像
用户7652506
0 篇文章

【技巧】如何快速按照日期分组

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 大猫的R语言课堂 > 【技巧】如何快速按照日期分组

【技巧】如何快速按照日期分组

作者头像
用户7652506
发布 于 2020-10-23 12:01:47
1.7K 0
发布 于 2020-10-23 12:01:47
举报

问题的提出

在处理数据的时候,我们常常需要按照日期对数据进行分类汇总,例如每周、每月、每年汇总等。 常见的做法是建立一个用于分类的变量,然后再按照这个变量进行汇总。 然而这种做法特别麻烦,因为我们常常要尝试多种不同的分类长度,很难 事先 就一次性创建好用于分类的变量。

再次,这种常规方法很难处理一些不规则的日期间隔,例如我希望 每隔3天 对数据汇总一次;或者再变态一点,我希望把数据分成两组:一组是周三,另一组是非周三。遇到这种情况,我们该怎么办呢?

本期大猫将教大家使用 data.table 包的 keyby 语句完成上述任务。使用 data.table 的好处是:

  • 不需要事先创建分类变量,啥时想分类了,直接分就可以(group on the fly)
  • 速度特别、特别快!
  • 代码非常、非常简洁!(也就十几个字符!)

注:文章中所有代码块都可以水平滚动!不信滑滑看?

实战操作

生成样例数据集

首先我们生成一个样例数据集:

# 生成 100 个日期,从2018-01-01开始
set.seed(42)
 
推荐文章
傲视众生的芹菜  ·  SELECT DISTINCT FROM <model > (DMX) - SQL Server | Microsoft Learn
1 月前
神勇威武的西瓜  ·  时间戳存入mysql数据库时1970年异常解决!_时间戳存入mysql数据库时1970年异常解决!-CSDN博客
11 月前
爱搭讪的猴子  ·  容器运行时探讨--从dockershim正式从K8s移除说起 - 知乎
1 年前
有情有义的日光灯  ·  【姓氏文化】汉族人取名最长可以几个字?_姓名
2 年前
急躁的甜瓜  ·  使用Datagrip连接Hive - 简书
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号