R 将带有NA的字符日期转换为日期格式-奇怪吗?
由于限制,我无法共享我的数据。请尝试使用以下信息提供解决方案 我有一个叫做数据的数据帧。有一些变量我想转换成日期和时间格式 [![在此处输入图像描述][1][1]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
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>