if语句的日期在R中

厄尔西姆

我有一个日期格式化的数据框(df)。它的示例如下:

df<- as.data.frame(as.factor(c("16.04.2015", "04.08.2014", "11.09.2013",  "20.11.2015", "04.04.2014")))
colnames(df)<-"date"

即;

date
16.04.2015
04.08.2014
11.09.2013
20.11.2015
04.04.2014

我想在两个特定日期之间分配“ 1”。假设我要为10.02.2014和15.08.2014。之间分配“ 1”日期。让“值”列定义为分配值。因此,所需的输出为:

date        value
16.04.2015  0
04.08.2014  1
11.09.2013  0
20.11.2015  0
04.04.2014  1

我该如何使用R中的if语句呢?还是有其他方法吗?我会很高兴为您提供任何帮助。非常感谢。

阿克伦

你可以使用betweendata.table

library(data.table)
setDT(df)[, value:=(as.Date(date, '%d.%m.%Y') %between% 
                       c('2014-02-10', '2014-08-15'))+0L][]
#         date value
#1: 16.04.2015     0
#2: 04.08.2014     1
#3: 11.09.2013     0
#4: 20.11.2015     0
#5: 04.04.2014     1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章