我有一个数据集,变量的日期为2001年1月1日至2015年12月31日。我需要生成一个新变量来指示不同的时间段。
时间间隔:1月15日至2月10日。
2015年1月15日至2月10日-时间= 1
2001年1月15日至2月10日-时间= 0
是否有生成新变量的好方法?
非常感谢!
答案 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"))