我是R新手!我正在尝试将不规则字符转换为日期,同时减少时间,但不断获得 NA,例如:
test = as.POSIXct(strptime("6/2/2013 10:27","10/21/2013 3:04"),format="%m/%d/%Y %H:%M")
我是R新手!我正在尝试将不规则字符转换为日期,同时减少时间,但不断获得 NA,例如:
test = as.POSIXct(strptime("6/2/2013 10:27","10/21/2013 3:04"),format="%m/%d/%Y %H:%M")
你有没有尝试过:
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"
我不确定 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")
如果你开始在 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")
试试 as.Date("6/2/2013", format="%m/%d/%Y")。但请注意,即使您的“不规则”字符是“6/2/2013abcd”,您也会得到相同的结果