R 将整数更改为三个整数

2023-12-15

我有这个号码

20101213这是该数据的表示2010 Dec 13th我想从该数字中提取年、月和日数字。所以我应该让三个变量包含这些值。

我尝试过的:

value = 20101213

as.numeric(strsplit(as.character(value), "")[[1]])

结果是[1] 2 0 1 0 1 0 1 0

但我不知道如何继续,请你帮助我


无论如何,您可能希望将其转换为日期时间格式以供将来计算,那么如何:

(x <- strptime(20101213, "%Y%m%d"))
# [1] "2010-12-13 EST"

这将使您能够进行仅使用年、月和日数无法完成的计算,例如获取星期几(0 = 星期日,1 = 星期一,...)或一年中的某一天:

x$wday
# [1] 1
x$yday
# [1] 346

此外,您可以轻松提取年、月号和月中的日期号:

c(x$year+1900, x$mon+1, x$mday)
# [1] 2010   12   13

Edit:正如@thelatemail 所指出的,不涉及记住偏移量的替代方案是:

as.numeric(c(format(x, "%Y"), format(x, "%m"), format(x, "%d")))
# [1] 2010   12   13
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 将整数更改为三个整数 的相关文章

随机推荐