首页 > 解决方案 > 仅返回我的数据框的最后 80 天

问题描述

我有一个大约 500,000 行的数据框,可以追溯到一年多以前。我有一列时间戳(1525078225、1525078806 等)。我只对查看最近 80 天的数据感兴趣(我的数据的最后一个时间戳不一定是当天)。这样做最简单的方法是什么?我已经尝试了下面的代码,但它似乎没有正确地对其进行子集化。任何帮助将不胜感激。谢谢

diff = as.numeric(max(df$Timestamp, na.rm = TRUE) - (80*24*60*60))
df[df$Timestamp <= diff,]

标签: rtimestampsubset

解决方案


你可能想要使用这样的东西:

diff = as.numeric(Sys.time() - 80*24*60*60)

as.numeric(Sys.time()) 将从 1970 年开始以秒为单位返回当前时间,因此我们只需以秒为单位减去 80 天时间

df[df$timestamp >= diff]

这将按列过滤行,然后您可以根据需要操作该数据的格式


推荐阅读