r - 指定多年的时间段
问题描述
我有一个带有变量“日期”的数据集,从 2001 年 1 月 1 日到 2015 年 12 月 31 日。我需要生成一个新变量来指示不同的时间段。
时间间隔:1月15日至2月10日。
2015 年 1 月 15 日至 2 月 10 日——时间 = 1
2001-2014 年 1 月 15 日至 2 月 10 日 -- 时间 = 0
有没有生成新变量的好方法?
非常感谢!
解决方案
如果您的日期变量还不是日期时间对象,您可以使用如下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"))
推荐阅读
- javascript - 在使用动态数据的滑块中实现 jQuery
- javascript - Express 中的 JS 运行时错误
- java - 更改照片上纸质文本的颜色。(位图)
- python-3.x - 多个服务器的 Discord.py 欢迎消息
- sqlite - Flutter SQLite 数据库表存在但 SQFLite 未检测到
- r - 将全部或部分多边形保持在一个较大的多边形内,而没有负缓冲区
- r - 将情节与 ggplot (R) 一起使用
- python - 无法在 VsCode 中运行 Venv
- php - 我们如何在不创建新页面和重定向的情况下自定义 WooCommerce 产品类别页面?
- f# - F# 中数据库记录的记录模式和类型不匹配