gpt4 book ai didi

r - 在 R 中按小时切割 POSIXlt 类型

转载 作者:行者123 更新时间:2023-12-05 00:59:39 24 4
gpt4 key购买 nike

假设我有以下数据

plt <- seq(as.POSIXlt("2010-01-01 01:20:30"), as.POSIXlt("2010-12-31 12:00:30"), 
length.out = 10)
df <- data.frame(plt)

plt
1 2010-01-01 01:20:30
2 2010-02-10 13:11:36
3 2010-03-23 02:02:43
4 2010-05-02 13:53:50
5 2010-06-12 01:44:56
6 2010-07-22 13:36:03
7 2010-09-01 01:27:10
8 2010-10-11 13:18:16
9 2010-11-21 00:09:23
10 2010-12-31 12:00:30

我想要做的是按时间切割以下日期。我的意思是我想为 00:00:00 - 06:00:00 之间的时间分配 A 因子,B 因子到 06:00:01 - 12:00:00,C 因子到 12:00:01 - 18:00:00,D 因子到 18:00:01 - 24:00:00。希望能在 df 的单独一栏中找到这些因素.任何人都知道如何做到这一点?

最佳答案

您可以使用 POSXlt 信息提取小时,然后使用 cut()创建您的分组

df$timeclass <- cut(as.POSIXlt(df$plt)$hour, 
breaks=c(0,6,12,18,24),
labels=c("A","B","C","D"),
include.lowest=T)
df
# plt timeclass
# 1 2010-01-01 01:20:30 A
# 2 2010-02-10 13:11:36 C
# 3 2010-03-23 02:02:43 A
# 4 2010-05-02 13:53:50 C
# 5 2010-06-12 01:44:56 A
# 6 2010-07-22 13:36:03 C
# 7 2010-09-01 01:27:10 A
# 8 2010-10-11 13:18:16 C
# 9 2010-11-21 00:09:23 A
# 10 2010-12-31 12:00:30 B

关于r - 在 R 中按小时切割 POSIXlt 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30419690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com