0

我是R新手!我正在尝试将不规则字符转换为日期,同时减少时间,但不断获得 NA,例如:

test = as.POSIXct(strptime("6/2/2013 10:27","10/21/2013 3:04"),format="%m/%d/%Y %H:%M")
4

4 回答 4

0

你有没有尝试过:

R> as.Date(c("6/2/2013", "10/21/2013"), format="%m/%d/%Y")
[1] "2013-06-02" "2013-10-21"

或者

R> as.POSIXct(c("6/2/2013", "10/21/2013"), format="%m/%d/%Y")
[1] "2013-06-02 IST" "2013-10-21 IST"
于 2013-07-16T21:26:49.380 回答
0

我不确定 strptime 应该做什么,但如果你只是用 c() 替换它,那么你的函数就可以正常工作。它也可以与as.Date

test = as.POSIXct(c("6/2/2013 10:27","10/21/2013 3:04"),format="%m/%d/%Y %H:%M")
test = as.Date(c("6/2/2013 10:27","10/21/2013 3:04"),format="%m/%d/%Y %H:%M")
于 2013-07-16T21:28:26.343 回答
0

如果你开始在 R 中处理日期,我建议你试试这个lubridate包,它简化了很多这种操作。

require(lubridate)
date_string <- c("6/2/2013", "10/21/2013")
mdy(date_string)
[1] "2013-06-02 UTC" "2013-10-21 UTC"

例如这里,在函数mdy中,m代表月、d日和y年,所有其他函数都非常直观。

检查小插图以更好地了解其可能性

vignette("lubridate", package = "lubridate")
于 2013-07-16T21:29:33.597 回答
0

试试 as.Date("6/2/2013", format="%m/%d/%Y")。但请注意,即使您的“不规则”字符是“6/2/2013abcd”,您也会得到相同的结果

于 2013-07-16T21:29:35.547 回答