我需要你的帮助来解决我在R中的日期时间问题。
我在因子类中有一个日期时间,例如:
"02/02/2010 12:00" "02/02/2010 12:05" "02/02/2010 12:10"
然后我只想选择时间,例如:"12:00" "12:05" "12:10"
在我将其更改为日期类之前,我尝试先将因子转换为字符。我的目标是将时间范围分类为周期(晚上,中午,下午,晚上)
getPeriode <- function(RAYON) {
Midi <- as.character.POSIXt("12:00", format ='%H:%M:%S') # Winter Solstice
d <- as.character.POSIXt(HEURE, format='%H:%M:%S')
ifelse (rayon < 10, "night",
ifelse (d = Midi, "noon",
ifelse (d >= Midi, "afternoon", "evening")))
}
但是,似乎没有用...... :(
我想关键是我们想要在
中输入数据d <- as.character.POSIXt(HEURE, format='%H:%M:%S')
我真的很感谢你的帮助..谢谢之前..
答案 0 :(得分:2)
我经常发现日期和时间类的操作相当混乱,在这种情况下,我认为将变量作为字符串和整数更容易。我不确定我是否了解您的所有代码,但这可能会激发您自己的解决方案。
datetime <- c("02/02/2010 07:00", "02/02/2010 08:05", "02/02/2010 11:00",
"02/02/2010 12:10", "02/02/2010 16:10", "02/02/2010 23:10")
heure <- as.integer(substr(datetime, 12, 13))
conversion <- data.frame(datetime=datetime, heure=heure,
period=cut(heure, c(-Inf, 7, 10, 12, 17, Inf),
labels=c("night", "morning", "noon", "afternoon", "evening")))
给你
> conversion
datetime heure period
1 02/02/2010 07:00 7 night
2 02/02/2010 08:05 8 morning
3 02/02/2010 11:00 11 noon
4 02/02/2010 12:10 12 noon
5 02/02/2010 16:10 16 afternoon
6 02/02/2010 23:10 23 evening