R 将带有NA的字符日期转换为日期格式-奇怪吗?

R 将带有NA的字符日期转换为日期格式-奇怪吗?,r,date,datetime,R,Date,Datetime,由于限制,我无法共享我的数据。请尝试使用以下信息提供解决方案 我有一个叫做数据的数据帧。有一些变量我想转换成日期和时间格式 [![在此处输入图像描述][1][1] data$Call_TimeStamp = as.POSIXct(paste(data$Local_call_Date, data$Local_call_Time.y), format= "%Y-%m-%d% %H:%M:%S", tz = 'GMT') str(data$Call_TimeStamp) POSIXct[1

由于限制,我无法共享我的数据。请尝试使用以下信息提供解决方案 我有一个叫做数据的数据帧。有一些变量我想转换成日期和时间格式

[![在此处输入图像描述][1][1]

data$Call_TimeStamp = as.POSIXct(paste(data$Local_call_Date, data$Local_call_Time.y), format= "%Y-%m-%d% %H:%M:%S", tz = 'GMT')



str(data$Call_TimeStamp)
   POSIXct[1:66288], format: NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 
但是,当我对同一数据集的另一个变量运行查询时,该数据集的日期和时间格式都相同,它运行得非常完美,唯一的区别是这些变量中没有NA作为字符

 data$Sent_TimeStamp=as.POSIXct(paste(data$Local_Sent_Date.x, data$Local_Sent_Time.x), format="%Y-%m-%d %H:%M:%S", tz = 'GMT')
两件事,一件好事,一件(可能)坏事:

  • 就时间字符串而言,您的数据的格式是合理的:--这使得解析更容易

  • 您的数据很可能是因子形式的,您忘记了所需的
    as.character()

现在,最近发布的软件包对这两方面都有帮助。以下是网页/中的一个示例:

它还将解析日期和时间,有或没有因子表示,但仍然不需要格式:

R> anytime("2016-01-02 03:04:05.678")
[1] "2016-01-02 03:04:05.677 CST"
R> anytime(as.factor("2016-01-02 03:04:05.678"))
[1] "2016-01-02 03:04:05.677 CST"
R> 

您可以直接从CRAN安装。

您将
放错了
粘贴
命令的位置。它应该是
paste(数据$Local\u call\u Date,数据$Local\u call\u Time.y),%y-…
以供将来参考。请记住,在R标记中,您必须通过可复制的方式共享数据,例如
dput()
不是截图。@Benjamin感谢您的关注。即使在更正语法后,它也会给出NA。请help@Benjamin请帮助谢谢。当字符中有NA时,任何时候都可以工作吗?我得到一个错误:eval中的错误(替换(expr)、envir、enclose):不可误用输入:不,当前不可。如果不使用魔法或时间机器,如何从
NA
解析合理信息?亲爱的匿名用户110244:我想你误解了StackOverflow的用途及其操作方式。我想要的是,该函数只将NA留在字符向量中的任何位置,然后转换将其他字符日期转换为日期时间格式。这是一个(非常基本的)两步:
ind
R> anytime("2016-01-02 03:04:05.678")
[1] "2016-01-02 03:04:05.677 CST"
R> anytime(as.factor("2016-01-02 03:04:05.678"))
[1] "2016-01-02 03:04:05.677 CST"
R>