gpt4 book ai didi

R:更正 R 中日期的年份

转载 作者:行者123 更新时间:2023-12-02 18:05:22 26 4
gpt4 key购买 nike

我有一个包含观察结果和观察日期的数据框。日期是从 csv 文件读取的,但仅包括月份和日期。 R 假设它们都是 2016 年的。我知道日期是按从最近到最近的顺序排列的,那么我该如何添加正确的年份呢?

输入按从最近到最近的顺序排列。

Input            Output
1/1 1/1/2016
12/1 12/1/2015
11/1 11/1/2015
1/1 1/1/2015
12/1 12/1/2014
1/1 1/1/2014
12/1 12/1/2013

感谢您的宝贵时间!

最佳答案

如果数据按照OP的帖子中所示进行排序,我们可以使用sub从初始向量('v1')中提取月份部分,转换为数字,获取相邻元素的差异,检查是否大于0,cumsum逻辑向量,使用分组索引传递年份值,最后粘贴 它与初始向量。

v2 <- paste(v1, c(2016:2013)[cumsum(c(TRUE,
diff(as.numeric(sub("/.*", "", v1))) > 0))], sep="/")

如果我们需要转换为“Date”类,请使用具有正确格式as.Date

as.Date(v2, "%m/%d/%Y")
#[1] "2016-01-01" "2015-12-01" "2015-11-01" "2015-01-01" "2014-12-01"
#[6] "2014-01-01" "2013-12-01"

关于R:更正 R 中日期的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36805608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com