gpt4 book ai didi

r - R中按年切割时的不良结果

转载 作者:行者123 更新时间:2023-12-04 13:26:57 24 4
gpt4 key购买 nike

函数cut.Date中有一个不受欢迎的功能,该功能在12月31日应用时将在明年添加为一个级别:

cut(as.Date("2013-12-31"), "year")
[1] 2013-01-01
Levels: 2013-01-01 2014-01-01

这在以后处理数据时给我带来很多麻烦,我想知道如果没有此怪异功能,是否还有其他选择可以按年切割数据?

最佳答案

如果x是您的日期向量,则可以按以下步骤删除空白级别:

x = droplevels(x)

也许有一种方法可以避免一开始就创建一个空关卡,但是至少这是一种摆脱它的简单方法。

使用您的示例:
droplevels(cut(as.Date("2013-12-31"), "year"))
[1] 2013-01-01
Levels: 2013-01-01

另一种选择是直接从日期对象中提取年份。例如:
library(lubridate)
year(as.Date(c("2013-12-31","2014-12-09","2014-11-10")))

[1] 2013 2014 2014

这不是一个因素,但是如果愿意,您可以始终将其转换为一个。

关于r - R中按年切割时的不良结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27409843/

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