time
在R中使用该类有时可能会有些挑战。
我的数据集是一列日期(H/M/S
)。不过,当我导入数据集时,R将其分类为chr
。
我想要做的是创建一个附加列,该列的值等于1
时间是否在后面10.30.00
,否则0
。
通过lubridate,我设法将数据转换为Period
数据类型:
db %>% dplyr::select(Time) %>% mutate(Time = lubridate::hms(Time))
但是,我不知道到底如何将if语句应用于Time
类的结果列,Period
如下所示:
%>% ifelse(Time > 10H 30M 0S, 1, 0)
不起作用。
关于如何完成此简单任务的任何提示?非常感谢!
您可以执行以下操作。
library(dplyr)
library(lubridate)
data <- tibble(time = hms(c('10:29:30', '14:12:55')))
data %>%
mutate(after = if_else(time > hms('10:30:00'), 1, 0))
# time after
# <Period> <dbl>
# 1 10H 29M 30S 0
# 2 14H 12M 55S 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句