r - 在r上的数据框中减去日期列
问题描述
我有调用的数据框df
:
number date
1 2012-07-01
2 2012-08-01
3 2012-09-01
4 2012-10-01
5 2012-11-01
我需要从每个日期中减去 3 个月。当我运行df
它会给我那个数据框:
number date
1 2012-04-01
2 2012-05-01
3 2012-06-01
4 2012-07-01
5 2012-08-01
我需要写什么代码?
解决方案
使用seq.Date
.
d$date3 <- as.Date(sapply(d$date, seq, by="-3 month", length.out=2)[2,],
origin="1970-01-01")
# number date date3
# 1 1 2012-07-01 2012-04-01
# 2 2 2012-08-01 2012-05-01
# 3 3 2012-09-01 2012-06-01
# 4 4 2012-10-01 2012-07-01
# 5 5 2012-11-01 2012-08-01
数据:
d <- structure(list(number = 1:5, date = c("2012-07-01", "2012-08-01",
"2012-09-01", "2012-10-01", "2012-11-01")), class = "data.frame", row.names = c(NA,
-5L))
推荐阅读
- python-3.x - 在没有 os.walk() 的情况下递归地扫描和列出文件
- tensorflow - Tensorflow.js:相同的模型,Python 和浏览器内 JavaScript 之间的预测存在重大差异?
- javascript - 如何将字符串文字传递给javascript中的过滤器函数
- c# - 从静态方法获取标签的文本(已解决)
- javascript - 如何使用 clearInterval()?
- go - Golang 正则表达式替换字符串
- android - Firestore 从集合中查询多个文档
- javascript - dangerouslyGetParent() 从 Tab Navigator 的子屏幕返回 undefined
- c# - Best way to fetch multiple objects from database, based on a list of objects of the same type
- python - 如何根据许多列中的值过滤 Pandas DataFrame?