gpt4 book ai didi

R:当我尝试格式化日期字符串时,为什么 strptime 总是返回 NA?

转载 作者:行者123 更新时间:2023-12-04 11:29:37 25 4
gpt4 key购买 nike

这是我的一些数据,从文件名 AttReport_all 读入:

Registration.Date                 Join.Time                Leave.Time
1 Jul 05, 2011 09:30 PM EDT Jul 07, 2011 01:05 PM EDT Jul 07, 2011 01:53 PM EDT
2 Jul 05, 2011 10:20 AM EDT Jul 07, 2011 01:04 PM EDT Jul 07, 2011 01:53 PM EDT
3 Jul 04, 2011 02:41 PM EDT Jul 07, 2011 12:49 PM EDT Jul 07, 2011 01:53 PM EDT
4 Jul 04, 2011 11:38 PM EDT Jul 07, 2011 12:49 PM EDT Jul 07, 2011 01:54 PM EDT
5 Jul 05, 2011 11:41 AM EDT Jul 07, 2011 12:54 PM EDT Jul 07, 2011 01:54 PM EDT
6 Jul 07, 2011 11:08 AM EDT Jul 07, 2011 01:16 PM EDT Jul 07, 2011 01:53 PM EDT

如果我这样做 strptime(AttReport_all$Registration.Date, "%b %m, %Y %H:%M %p", tz="")我得到了一系列 NA,我期待日期。
Sys.setlocale("LC_TIME", "C")返回“C”
typeof(AttReport_all$Registration.Date)返回“整数”
is.factor(AttReport_all$Registration.Date)返回真。

我错过了什么?

这是版本输出,如果有帮助的话:
平台 i386-pc-mingw32
拱形 i386
操作系统 mingw32
系统 i386、mingw32
地位
专业 2
未成年人 13.0
2011年
04月
第 13 天
SVN 修订版 55427
语言R
version.string R 版本 2.13.0 (2011-04-13)

最佳答案

strptime自动运行 as.character在第一个参数(因此它是一个因素无关紧要)和任何未在 format= 中指定的尾随字符上被忽略(所以“EDT”无关紧要)。

唯一的问题是@Ben Bolker 确定的拼写错误( %m 应该是 %d )和 %H应该是 %I ( ?strptime 说你不应该使用 %H%p )。

# %b and %m are both *month* formats
strptime("Jul 05, 2011 09:30 PM EDT", "%b %m, %Y %H:%M %p", tz="")
# [1] NA

# change %m to %d and we no longer get NA, but the time is wrong (AM, not PM)
strptime("Jul 05, 2011 09:30 PM EDT", "%b %d, %Y %H:%M %p", tz="")
# [1] "2011-07-05 09:30:00"

# use %I (not %H) with %p
strptime("Jul 05, 2011 09:30 PM EDT", "%b %d, %Y %I:%M %p", tz="")
# [1] "2011-07-05 21:30:00"

关于R:当我尝试格式化日期字符串时,为什么 strptime 总是返回 NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685046/

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