指定多年的时间段

时间:2018-08-20 19:44:03

标签: r

我有一个数据集,变量的日期为2001年1月1日至2015年12月31日。我需要生成一个新变量来指示不同的时间段。

时间间隔:1月15日至2月10日。

2015年1月15日至2月10日-时间= 1

2001年1月15日至2月10日-时间= 0

是否有生成新变量的好方法?

非常感谢!

1 个答案:

答案 0 :(得分:1)

如果您的日期变量还不是日期时间对象,则可以使用as.Date()函数将其转换,如下所示:

df$Date <- as.Date(df$Date, format = "%Y-%m-%d")

您可以使用ifelse语句创建像这样的新变量:

df$Time <- ifelse(df$Date > "2015-01-15" & df$Date < "2015-02-10", 1, 
ifelse((df$Date > "2014-01-15" & df$Date < "2014-02-10") | 
(df$Date > "2013-01-15" & df$Date < "2013-02-10") | 
(df$Date > "2012-01-15" & df$Date < "2012-02-10") | 
(df$Date > "2011-01-15" & df$Date < "2011-02-10"), 0, "NA"))