r - 过滤时间戳 R 中的最后 n 个观测值
问题描述
我是 R 的新手,我有一个简单的问题。
我有一个数据框,其中有一列关于时间戳和各种其他功能。时间戳列是 31 天,我必须得到时间戳的最后 n 天(比如说 16 天)。
假设有 31 天,它将给我过去 16 天(10 月 16 日至 10 月 31 日)的观察结果。我知道如何在 Python 中做到这一点,但我不知道如何在 R 中做到这一点。
样本df:
f1 f2 f3 timestamp
1 2 3 2020-10-02 14:36:03
2 3 5 2020-10-03 14:26:03
1 2 3 2020-10-05 14:36:03
2 3 5 2020-10-05 14:26:03
1 2 3 2020-10-07 14:36:03
2 3 5 2020-10-10 14:26:03
1 2 3 2020-10-12 14:36:03
2 3 5 2020-10-13 14:26:03
1 2 3 2020-10-15 14:36:03
2 3 5 2020-10-16 14:26:03
1 2 3 2020-10-22 14:36:03
2 3 5 2020-10-25 14:26:03
1 2 3 2020-10-26 14:36:03
2 3 5 2020-10-31 14:26:03
结果应该是什么样子:
f1 f2 f3 timestamp
2 3 5 2020-10-16 14:26:03
1 2 3 2020-10-22 14:36:03
2 3 5 2020-10-25 14:26:03
1 2 3 2020-10-26 14:36:03
2 3 5 2020-10-31 14:26:03
每个观察的时间戳中的时间都不同,上面的框架仅用于说明目的。任何帮助,将不胜感激。
更新以消除混乱:
我不能像在原始数据框中那样使用 tail() 函数,每天有多个值。抱歉没有说清楚。
解决方案
也许你需要lubridate
内subset
library(lubridate)
subset(
df,
day(timestamp) >= days_in_month(timestamp) - 15
)
或以某种dplyr
方式
df %>%
filter(between(day(timestamp), days_in_month(timestamp) - 15, days_in_month(timestamp)))
这使
f1 f2 f3 timestamp
10 2 3 5 2020-10-16 14:26:03
11 1 2 3 2020-10-22 14:36:03
12 2 3 5 2020-10-25 14:26:03
13 1 2 3 2020-10-26 14:36:03
14 2 3 5 2020-10-31 14:26:03
数据
> dput(df)
structure(list(f1 = c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L,
1L, 2L, 1L, 2L), f2 = c(2L, 3L, 2L, 3L, 2L, 3L, 2L, 3L, 2L, 3L,
2L, 3L, 2L, 3L), f3 = c(3L, 5L, 3L, 5L, 3L, 5L, 3L, 5L, 3L, 5L,
3L, 5L, 3L, 5L), timestamp = structure(c(1601642163, 1601727963,
1601901363, 1601900763, 1602074163, 1602332763, 1602506163, 1602591963,
1602765363, 1602851163, 1603370163, 1603632363, 1603719363, 1604150763
), class = c("POSIXct", "POSIXt"), tzone = "")), row.names = c(NA,
-14L), class = "data.frame")
推荐阅读
- javascript - 如果我在大多数组件中使用对象破坏,它会使用更多内存吗?
- latex - 将 YAML 参数拉入 RMarkdwon 文档的 LaTeX 前导码
- flutter - 如何获得点击并将调试文本更改为开发右上角红色调试横幅?
- python - 如何从字典中替换数据框列中的特定值?
- javascript - 滚动时淡入淡出的图像(jquery)
- google-sheets-api - 如何使用 Google 表格读取一个单元格中的数据并将数据写入另一个单元格?
- java - 对 javax.persistence.EntityManager 使用 find() 时出现 ClassCastException
- javascript - 理解 toLocaleString 以及如何在 html 和 javascript 中设置它的最简单解释是什么?
- r - 在 R 中重新定义函数时调用函数
- arrays - 将 XML 数组元素分配给变量