r - 仅返回我的数据框的最后 80 天
问题描述
我有一个大约 500,000 行的数据框,可以追溯到一年多以前。我有一列时间戳(1525078225、1525078806 等)。我只对查看最近 80 天的数据感兴趣(我的数据的最后一个时间戳不一定是当天)。这样做最简单的方法是什么?我已经尝试了下面的代码,但它似乎没有正确地对其进行子集化。任何帮助将不胜感激。谢谢
diff = as.numeric(max(df$Timestamp, na.rm = TRUE) - (80*24*60*60))
df[df$Timestamp <= diff,]
解决方案
你可能想要使用这样的东西:
diff = as.numeric(Sys.time() - 80*24*60*60)
as.numeric(Sys.time()) 将从 1970 年开始以秒为单位返回当前时间,因此我们只需以秒为单位减去 80 天时间
df[df$timestamp >= diff]
这将按列过滤行,然后您可以根据需要操作该数据的格式
推荐阅读
- java - 标准生成器解析路径内容
- python - 矩阵向量的乘法
- vba - 如何通过 VBA 重新填充 microsoft access 365 中的导航窗格?
- typescript - 如何将获取的数据与 Next.js 和 TypeScript 一起使用?
- javascript - 悬停在 D3.js 折线图中未定义的数据点返回
- mysql - 如何计算表中值之间的时间?
- python - 如何确保用户输入仅使用 try 和 except
- android - 获取 'E/RecyclerView: 未连接适配器;Kotlin tabbedActivity 中的跳过布局
- laravel - 如何避免重复的数据库记录但针对特定用户?
- google-chrome - 如何为 Chrome/Chromium 的“--enable-features=”标志编写参数