首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按日期分类

按日期分类
EN

Stack Overflow用户
提问于 2014-12-10 20:07:17
回答 1查看 221关注 0票数 0

正在做生存分析。有一个带有日期列表(作为日期类)的数据框架工作表。(worksheet$date.of.first.positive)。我想创建另一个列,如果日期在某个范围内,我将该列标记为组0、1、2。

代码语言:javascript
复制
if (worksheet$date.of.first.positive < '2011-07-01'){
  worksheet$aspera2 <- 0
}else if (worksheet$date.of.first.positive > '2012-10-01') {
  worksheet$aspera2 <- 2
} else{
  worksheet$aspera2 <- 1
}

我收到以下错误:警告消息: In if (worksheet$date.of.first.positive < "2011-07-01") {:条件长度>1,只使用第一个元素

我读过逻辑向量的答案,但不完全明白我做错了什么。

迪内什的反应正是我所需要的。我用了以下方法。去筑巢!谢谢!

代码语言:javascript
复制
worksheet$aspera2 <- ifelse(worksheet$date.of.first.positive < '2011-07-01', 0, ifelse(worksheet$date.of.first.positive > '2012-10-01', 2, 1))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-10 20:14:52

错误信息简洁但非常有意义。IF正在返回一个T/F向量,但是if并不是这样工作的。试试ifelse风格

代码语言:javascript
复制
worksheet$aspera2 <- ifelse(worksheet$date.of.first.positive < '2011-07-01', "value-when-true", "value-when-false")

你可以嵌套ifelse

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27409886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档