r - 使用 ifelse 基于日期范围的新字符值
问题描述
我有一些数据的名称我试图根据某些日期范围重命名。目前我没有结束日期,但将来会有,所以有两个选项会很好。如果将日期强制转换为数字格式,我可以将其转换回日期,ifelse()
除非有更好的方法。我是否只需要先转换为数字并找出与我的日期范围相对应的数字,运行ifelse()
,然后在完成后转换回日期?我试图从中获得一些见解,但我不确定它是否对我有用。 R中具有多个条件的Ifelse语句
structure(list(Serial = c("580300", "380201", "380201", "480862",
"480862", "480862"), Name = c("Gomex", "Clammy",
"Clammy", "Channel Islands", "Channel Islands", "Channel Islands"
), Date = structure(c(1476928800, 1553619600, 1476932400, 1503777600,
1476936000, 1604070000), class = c("POSIXct", "POSIXt"), tzone = "")), row.names = c(NA,
6L), class = "data.frame")
我正在尝试做这样的事情......
vue$Name <- ifelse(vue$Serial == "480862" & Date >= "2019-8-23 10:00:00", "newname", vue$Name)
Error in Date >= "2019-8-23 10:00:00" :
comparison (5) is possible only for atomic and list types
解决方案
我发现了问题vue$Name <- ifelse(vue$Serial == "483689" && vue$Date >= "2019-8-23 10:00:00", "newname", vue$Name)
我错过了第二个&
和vue$
之前Date
推荐阅读
- rust - CLI 触发网页 Rust 架构考虑
- java - 当我尝试运行我的应用程序时无法编译值文件
- angular - angular webpack < 5 中的 crypto-js 库有错误?
- java - Java-Gradle-Project 只编译一次,然后抛出“找不到类”错误
- javascript - 从回调中访问 forEach 的父范围
- r - 跨时差函数
- c# - C#如何获取rxbuffer的持续时间和采样频率
- javascript - 在请求和响应对象中隐藏 Cookie
- angular - 如果项目 cli 是 v9 而全局 cli 是 v11,为什么 ng serve 不起作用?
- awk - Grep 从以特定模式开头的文件中的正则表达式模式