gpt4 book ai didi

r - 将时间对象转换为 R 中的分类(早上、下午、晚上、晚上)变量?

转载 作者:行者123 更新时间:2023-12-01 12:14:24 24 4
gpt4 key购买 nike

我在时间数据框中有这个向量,格式为小时:分钟,我想将其转换为一天中的分类时间:

    time <- c("15:03", "08:01", "11:59", "23:47", "14:20")
df$time <- format(strptime(df$time, tz = "" , format = "%H: %M"), format = "%H: %M")
df <- data.frame(time)

我想我会考虑早上 5 点到 11 点,下午 11 点到 16 点,晚上 16 点到 19 点,以及除此之外的任何事情,直到 5 晚。原始数据的时间格式为小时:分钟,使用 strptime()。

我在论坛上发现了一些类似的问题,但我似乎无法调整代码来处理我的数据。

最佳答案

time <- as.POSIXct(strptime(c("15:03", "08:01", "11:59", "23:47", "14:20"),"%H:%M"),"UTC")

x=as.POSIXct(strptime(c("050000","105959","110000","155959","160000",
"185959"),"%H%M%S"),"UTC")
library(tidyverse)
case_when(
between(time,x[1],x[2]) ~"morning",
between(time,x[3],x[4]) ~"afternoon",
between(time,x[5],x[6]) ~"evening",
TRUE ~"night")
[1] "afternoon" "morning" "afternoon" "night" "afternoon"

使用基础 R:
time <- as.POSIXct(strptime(c("15:03", "08:01", "11:59", "23:47", "14:20"),"%H:%M"),"UTC")

x=as.POSIXct(strptime(c("000000","050000","110000","160000","190000","235959"),
"%H%M%S"),"UTC")
labs=c("night","morning","afternoon","evening","night")
labs[findInterval(time,x)]
[1] "afternoon" "morning" "afternoon" "night" "afternoon"

关于r - 将时间对象转换为 R 中的分类(早上、下午、晚上、晚上)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49370387/

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