gpt4 book ai didi

r - 来自数据框中 3 个不同变量的日期

转载 作者:行者123 更新时间:2023-12-02 10:54:31 27 4
gpt4 key购买 nike

我有三列日、月、年,我想用它们来制作一个日期列

> dt
mon day year
1: NA NA NA
2: NA NA NA
3: NA NA NA
4: NA NA NA
5: NA NA NA
6: NA NA NA
7: NA NA NA
8: 10 10 2017
9: NA NA NA
10: 4 4 2018
11: NA NA NA
12: NA NA NA
13: NA NA NA
14: NA NA NA
15: NA NA NA
16: NA NA NA
>

我使用了下面的代码,它给出了奇怪的结果:

> as.Date(paste(dt$mon,dt$day,dt$year,sep="-"),format = "%m-%d-%y")
[1] NA NA NA NA NA NA NA
[8] "2020-10-10" NA "2020-04-04" NA NA NA NA
[15] NA

我也尝试过以下:

library("lubridate")
with(dt, ymd(sprintf('%04d%02d%02d', year, mon, day)))

这里我收到错误:sprintf("%04d%02d%02d", 年、月、日) 中的错误: 格式“%04d”无效;对数字对象使用格式 %f、%e、%g 或 %a

请建议这些代码是否有任何问题,或者是否有更好的解决方案来解决我的问题?

谢谢!

最佳答案

您的年份采用 4 位数格式。

所以你应该使用%Y

as.Date(paste(dt$mon,dt$day,dt$year,sep="-"),format = "%m-%d-%Y")

关于r - 来自数据框中 3 个不同变量的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50274637/

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