R语言:为dataframe添加日期差值±15天的TRUE/FALSE列
为DataFrame新增日期范围判断列
基础R写法
直接计算两列日期差值的绝对值,判断是否在±15天范围内,将结果赋值给新列RANGE:
df$RANGE <- abs(df$HATCH_DATE.i - df$HATCH_DATE.j) <= 15
tidyverse(dplyr)写法
如果你习惯使用tidyverse生态的语法,可用mutate()函数新增列:
library(dplyr) df <- df %>% mutate(RANGE = abs(HATCH_DATE.i - HATCH_DATE.j) <= 15)
结果验证
运行代码后生成的RANGE列完全符合预期:
| RANGE |
|---|
| TRUE |
| TRUE |
| TRUE |
| FALSE |
| FALSE |
| FALSE |
关键说明
- R中的
Date类型列直接相减会得到以天为单位的差值,无需额外格式转换。 abs()函数用于取差值的绝对值,确保不管HATCH_DATE.i比HATCH_DATE.j早还是晚,只要差值在15天内都返回TRUE。
内容的提问来源于stack exchange,提问作者KMaddox
相关产品推荐
相关产品推荐

